W3cubDocs

/Symfony 3.0

Symfony\Component\ExpressionLanguage\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

public __construct(array $functions)

Parameters

array $functions

public 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

public parseExpression($precedence)

Parameters

$precedence

public parsePrimaryExpression()

public parseArrayExpression()

public parseHashExpression()

public parsePostfixExpression($node)

Parameters

$node

public parseArguments()

Parses arguments.

© 2004–2016 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/ExpressionLanguage/Parser.html