Parser
class Parser
Parsers a token stream.
This parser implements a "Precedence climbing" algorithm.
Constants
OPERATOR_LEFT | |
OPERATOR_RIGHT |
Methods
__construct(array $functions) | ||
Node | parse(TokenStream $stream, array $names = array()) Converts a token stream to a node tree. | |
parseExpression($precedence) | ||
parsePrimaryExpression() | ||
parseArrayExpression() | ||
parseHashExpression() | ||
parsePostfixExpression($node) | ||
parseArguments() Parses arguments. |
Details
__construct(array $functions)
Parameters
array | $functions |
Node parse(TokenStream $stream, array $names = array())
Converts a token stream to a node tree.
The valid names is an array where the values are the names that the user can use in an expression.
If the variable name in the compiled PHP code must be different, define it as the key.
For instance, ['this' => 'container'] means that the variable 'container' can be used in the expression but the compiled code will use 'this'.
Parameters
TokenStream | $stream | A token stream instance |
array | $names | An array of valid names |
Return Value
Node | A node tree |
Exceptions
SyntaxError |
parseExpression($precedence)
Parameters
$precedence |
parsePrimaryExpression()
parseArrayExpression()
parseHashExpression()
parsePostfixExpression($node)
Parameters
$node |
parseArguments()
Parses arguments.
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/ExpressionLanguage/Parser.html