示例#1
0
 public static function parse(ParserInterface $parser)
 {
     if (ConstantNode::parse($parser) || StringNode::parse($parser) || VariableNode::parse($parser) || NumberNode::parse($parser) || ListNode::parse($parser) || FunctionCallNode::parse($parser)) {
         if (!$parser->getScope() instanceof self) {
             // Insert the expression and move inside
             $parser->wrap(new static());
         }
         if (OperatorNode::parse($parser)) {
             self::parse($parser);
         } else {
             $parser->traverseDown();
         }
         return true;
     }
     return false;
 }
示例#2
0
文件: tokens.php 项目: nielssp/parco
 public function number()
 {
     return $this->token('number')->map(function ($token) {
         $node = new NumberNode();
         $node->value = $token->value;
         $node->setPosition($token->getPosition());
         return $node;
     });
 }