final class TagParser

Parser for PHP-like expression language used in tags.

Based on works by Nikita Popov, Moriyoshi Koizumi and Masato Bito.

Constants

private SchemaExpression

private SchemaArguments

private SchemaFilters

private SchemaForeach

private SymbolNone

Properties

$stream
$text
protected ArrayNode,null> $shortArrays

Methods

__construct(array $tokens)

No description

parseExpression()

Parses PHP-like expression.

parseArguments()

Parses optional list of arguments. Named and variadic arguments are also supported.

parseModifier()

Parses optional list of filters.

parseUnquotedStringOrExpression(bool $colon = true)

Parses unquoted string or PHP-like expression.

SuperiorTypeNode|null
parseType()

Parses optional type declaration.

array
parseForeach()

Parses variables used in foreach.

Token|null
tryConsumeTokenBeforeUnquotedString(string ...$kind)

Consumes optional token followed by whitespace. Suitable before parseUnquotedStringOrExpression().

Token|null
tryConsumeModifier(string ...$kind)

No description

bool
isEnd()

No description

never
throwReservedKeywordException(Token $token)

No description

convertArrayToList(ArrayNode $array)

No description

Details

at line 45
__construct(array $tokens)

No description

Parameters

array $tokens

at line 56
ExpressionNode parseExpression()

Parses PHP-like expression.

Return Value

ExpressionNode

at line 65
ArrayNode parseArguments()

Parses optional list of arguments. Named and variadic arguments are also supported.

Return Value

ArrayNode

at line 74
ModifierNode parseModifier()

Parses optional list of filters.

Return Value

ModifierNode

at line 85
ExpressionNode parseUnquotedStringOrExpression(bool $colon = true)

Parses unquoted string or PHP-like expression.

Parameters

bool $colon

Return Value

ExpressionNode

at line 108
SuperiorTypeNode|null parseType()

Parses optional type declaration.

Return Value

SuperiorTypeNode|null

at line 130
array parseForeach()

internal  
 

Parses variables used in foreach.

Return Value

array

at line 139
Token|null tryConsumeTokenBeforeUnquotedString(string ...$kind)

Consumes optional token followed by whitespace. Suitable before parseUnquotedStringOrExpression().

Parameters

string ...$kind

Return Value

Token|null

at line 149
Token|null tryConsumeModifier(string ...$kind)

No description

Parameters

string ...$kind

Return Value

Token|null

at line 157
bool isEnd()

No description

Return Value

bool

at line 308
never throwReservedKeywordException(Token $token)

No description

Parameters

Token $token

Return Value

never

at line 441
ListNode convertArrayToList(ArrayNode $array)

No description

Parameters

ArrayNode $array

Return Value

ListNode

Traits