public function push(Node $item)
 {
     return parent::push($item);
 }
Example #2
0
 /**
  * Parse optional apply rule.
  * Rule: (APPLY WORD)?
  * @param TokenStream $tokens
  * @param Stack $stack
  * @return bool True
  */
 protected function parseApply(TokenStream $tokens, Stack $stack)
 {
     if ($tokens->begin() && $stack->begin() && $this->consumeToken(Token::APPLY, $tokens, $stack) && $this->parseToken(Token::WORD, $tokens, $stack, self::CONTEXT_FUNC) && $tokens->commit() && $stack->commit() || $tokens->rollback() || $stack->rollback()) {
         // Basically this is a function operator.
         $operator = $stack->pop();
         $operand = $stack->pop();
         $stack->push(new UnaryNode($operator, $operand));
     }
     // Always return true since this is an optional rule.
     return true;
 }