CodeExplorer parseArrow example
public function __construct(Parser
$parser, Environment
$env) { $this->parser =
$parser;
$this->env =
$env;
$this->unaryOperators =
$env->
getUnaryOperators();
$this->binaryOperators =
$env->
getBinaryOperators();
} public function parseExpression($precedence = 0,
$allowArrow = false
) { if ($allowArrow &&
$arrow =
$this->
parseArrow()) { return $arrow;
} $expr =
$this->
getPrimary();
$token =
$this->parser->
getCurrentToken();
while ($this->
isBinary($token) &&
$this->binaryOperators
[$token->
getValue()]['precedence'
] >=
$precedence) { $op =
$this->binaryOperators
[$token->
getValue()];
$this->parser->
getStream()->
next();
if ('is not' ===
$token->
getValue()) { $expr =
$this->
parseNotTestExpression($expr);
}