Documentation

Parser
in package

JMESPath Pratt parser

Tags
link
http://hall.org.ua/halls/wizzard/pdf/Vaughan.Pratt.TDOP.pdf

Table of Contents

$afterDot  : array<string|int, mixed>
$bp  : mixed
$currentNode  : mixed
$expression  : mixed
$lexer  : Lexer
$nullToken  : mixed
$token  : mixed
$tokens  : mixed
$tpos  : mixed
__construct()  : mixed
parse()  : array<string|int, mixed>
Parses a JMESPath expression into an AST
assertNotToken()  : mixed
expr()  : array<string|int, mixed>
Parses an expression while rbp < lbp.
led_and()  : mixed
led_comparator()  : mixed
led_dot()  : mixed
led_filter()  : mixed
led_flatten()  : mixed
led_lbracket()  : mixed
led_lparen()  : mixed
led_or()  : mixed
led_pipe()  : mixed
lookahead()  : mixed
next()  : mixed
nud_current()  : mixed
nud_expref()  : mixed
nud_filter()  : mixed
nud_flatten()  : mixed
nud_identifier()  : mixed
nud_lbrace()  : mixed
nud_lbracket()  : mixed
nud_literal()  : mixed
nud_lparen()  : mixed
nud_not()  : mixed
nud_quoted_identifier()  : mixed
nud_star()  : mixed
parseArrayIndexExpression()  : mixed
Parses an array index expression (e.g., [0], [1:2:3]
parseDot()  : mixed
parseKeyValuePair()  : mixed
parseMultiSelectList()  : mixed
parseProjection()  : mixed
parseWildcardArray()  : mixed
parseWildcardObject()  : mixed
syntax()  : mixed

Properties

$afterDot

private static array<string|int, mixed> $afterDot = [ JmesPathLexer::T_IDENTIFIER => true, // foo.bar JmesPathLexer::T_QUOTED_IDENTIFIER => true, // foo."bar" JmesPathLexer::T_STAR => true, // foo.* JmesPathLexer::T_LBRACE => true, // foo[1] JmesPathLexer::T_LBRACKET => true, // foo{a: 0} JmesPathLexer::T_FILTER => true, ]

Acceptable tokens after a dot token

$bp

private static mixed $bp = [JmesPathLexer::T_EOF => 0, JmesPathLexer::T_QUOTED_IDENTIFIER => 0, JmesPathLexer::T_IDENTIFIER => 0, JmesPathLexer::T_RBRACKET => 0, JmesPathLexer::T_RPAREN => 0, JmesPathLexer::T_COMMA => 0, JmesPathLexer::T_RBRACE => 0, JmesPathLexer::T_NUMBER => 0, JmesPathLexer::T_CURRENT => 0, JmesPathLexer::T_EXPREF => 0, JmesPathLexer::T_COLON => 0, JmesPathLexer::T_PIPE => 1, JmesPathLexer::T_OR => 2, JmesPathLexer::T_AND => 3, JmesPathLexer::T_COMPARATOR => 5, JmesPathLexer::T_FLATTEN => 9, JmesPathLexer::T_STAR => 20, JmesPathLexer::T_FILTER => 21, JmesPathLexer::T_DOT => 40, JmesPathLexer::T_NOT => 45, JmesPathLexer::T_LBRACE => 50, JmesPathLexer::T_LBRACKET => 55, JmesPathLexer::T_LPAREN => 60]

$currentNode

private static mixed $currentNode = ['type' => JmesPathLexer::T_CURRENT]

$expression

private mixed $expression

$nullToken

private static mixed $nullToken = ['type' => JmesPathLexer::T_EOF]

Methods

__construct()

public __construct([Lexer|null $lexer = null ]) : mixed
Parameters
$lexer : Lexer|null = null

Lexer used to tokenize expressions

Return values
mixed

parse()

Parses a JMESPath expression into an AST

public parse(string $expression) : array<string|int, mixed>
Parameters
$expression : string

JMESPath expression to compile

Tags
throws
SyntaxErrorException
Return values
array<string|int, mixed>

Returns an array based AST

assertNotToken()

private assertNotToken(mixed $type) : mixed
Parameters
$type : mixed
Return values
mixed

expr()

Parses an expression while rbp < lbp.

private expr(int $rbp) : array<string|int, mixed>
Parameters
$rbp : int

Right bound precedence

Return values
array<string|int, mixed>

led_and()

private led_and(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_comparator()

private led_comparator(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_dot()

private led_dot(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_filter()

private led_filter(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_flatten()

private led_flatten(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_lbracket()

private led_lbracket(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_lparen()

private led_lparen(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_or()

private led_or(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

led_pipe()

private led_pipe(array<string|int, mixed> $left) : mixed
Parameters
$left : array<string|int, mixed>
Return values
mixed

lookahead()

private lookahead() : mixed
Return values
mixed

next()

private next([array<string|int, mixed> $match = null ]) : mixed
Parameters
$match : array<string|int, mixed> = null
Return values
mixed

nud_current()

private nud_current() : mixed
Return values
mixed

nud_expref()

private nud_expref() : mixed
Return values
mixed

nud_filter()

private nud_filter() : mixed
Return values
mixed

nud_flatten()

private nud_flatten() : mixed
Return values
mixed

nud_identifier()

private nud_identifier() : mixed
Return values
mixed

nud_lbrace()

private nud_lbrace() : mixed
Return values
mixed

nud_lbracket()

private nud_lbracket() : mixed
Return values
mixed

nud_literal()

private nud_literal() : mixed
Return values
mixed

nud_lparen()

private nud_lparen() : mixed
Return values
mixed

nud_not()

private nud_not() : mixed
Return values
mixed

nud_quoted_identifier()

private nud_quoted_identifier() : mixed
Return values
mixed

nud_star()

private nud_star() : mixed
Return values
mixed

parseArrayIndexExpression()

Parses an array index expression (e.g., [0], [1:2:3]

private parseArrayIndexExpression() : mixed
Return values
mixed

parseDot()

private parseDot(mixed $bp) : mixed
Parameters
$bp : mixed
Return values
mixed

parseKeyValuePair()

private parseKeyValuePair() : mixed
Return values
mixed

parseMultiSelectList()

private parseMultiSelectList() : mixed
Return values
mixed

parseProjection()

private parseProjection(mixed $bp) : mixed
Parameters
$bp : mixed
Return values
mixed

parseWildcardArray()

private parseWildcardArray([array<string|int, mixed> $left = null ]) : mixed
Parameters
$left : array<string|int, mixed> = null
Return values
mixed

parseWildcardObject()

private parseWildcardObject([array<string|int, mixed> $left = null ]) : mixed
Parameters
$left : array<string|int, mixed> = null
Return values
mixed

syntax()

private syntax(mixed $msg) : mixed
Parameters
$msg : mixed
Return values
mixed

Search results