Documentation

ExpressionParser
in package

Parses expressions.

since Twig 3.21

This parser implements a "Precedence climbing" algorithm.

Tags
see
https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
see
https://en.wikipedia.org/wiki/Operator-precedence_parser
author

Fabien Potencier fabien@symfony.com

Table of Contents

Constants

OPERATOR_LEFT  = 1
OPERATOR_RIGHT  = 2

Properties

$env  : Environment
$parser  : Parser

Methods

__construct()  : mixed
parseArguments()  : Node
Parses arguments.
parseArrayExpression()  : mixed
parseAssignmentExpression()  : mixed
parseExpression()  : mixed
parseFilterExpression()  : mixed
parseFilterExpressionRaw()  : mixed
parseHashExpression()  : mixed
parseMappingExpression()  : mixed
parseMultitargetExpression()  : mixed
parseOnlyArguments()  : mixed
parsePostfixExpression()  : mixed
parsePrimaryExpression()  : mixed
parseSequenceExpression()  : mixed
parseStringExpression()  : mixed
parseSubscriptExpression()  : mixed
checkConstantExpression()  : bool

Constants

Properties

Methods

parseArguments()

Parses arguments.

public parseArguments() : Node

since Twig 3.19 Use Twig\ExpressionParser\Infix\ArgumentsTrait::parseNamedArguments() instead

Tags
throws
SyntaxError
Return values
Node

parseArrayExpression()

public parseArrayExpression() : mixed

since Twig 3.11, use parseExpression() instead

parseAssignmentExpression()

public parseAssignmentExpression() : mixed

since Twig 3.21, use "AbstractTokenParser::parseAssignmentExpression()" instead

parseExpression()

public parseExpression([mixed $precedence = 0 ]) : mixed
Parameters
$precedence : mixed = 0

parseFilterExpression()

public parseFilterExpression(mixed $node) : mixed

since Twig 3.21

Parameters
$node : mixed

parseFilterExpressionRaw()

public parseFilterExpressionRaw(mixed $node) : mixed

since Twig 3.21

Parameters
$node : mixed

parseHashExpression()

public parseHashExpression() : mixed

since Twig 3.11, use parseExpression() instead

parseMappingExpression()

public parseMappingExpression() : mixed

since Twig 3.21

parseMultitargetExpression()

public parseMultitargetExpression() : mixed

since Twig 3.21

parseOnlyArguments()

public parseOnlyArguments() : mixed

since Twig 3.19 Use Twig\ExpressionParser\Infix\ArgumentsTrait::parseNamedArguments() instead

parsePostfixExpression()

public parsePostfixExpression(mixed $node) : mixed

since Twig 3.21

Parameters
$node : mixed

parsePrimaryExpression()

public parsePrimaryExpression() : mixed

since Twig 3.21

parseSequenceExpression()

public parseSequenceExpression() : mixed

since Twig 3.21

parseStringExpression()

public parseStringExpression() : mixed

since Twig 3.21

parseSubscriptExpression()

public parseSubscriptExpression(mixed $node) : mixed

since Twig 3.21

Parameters
$node : mixed

checkConstantExpression()

private checkConstantExpression(Node $node) : bool
Parameters
$node : Node
Return values
bool

        
On this page

Search results