class CompilingEelParser extends EelParser (View source)

A compiling expression parser

The matcher functions will generate PHP code according to the expressions. Method calls and object / array access are wrapped using the Context object.

Properties

protected $match_S_typestack from  AbstractParser
protected $match__IntegerNumber_typestack from  AbstractParser
protected $match__Decimals_typestack from  AbstractParser
protected $match_NumberLiteral_typestack from  AbstractParser
protected $match_DoubleQuotedStringLiteral_typestack from  AbstractParser
protected $match_SingleQuotedStringLiteral_typestack from  AbstractParser
protected $match_StringLiteral_typestack from  AbstractParser
protected $match_BooleanLiteral_typestack from  AbstractParser
protected $match_Identifier_typestack from  AbstractParser
protected $match_PropertyPath_typestack from  AbstractParser
protected $match_OffsetAccess_typestack from  EelParser
protected $match_MethodCall_typestack from  EelParser
protected $match_ObjectPath_typestack from  EelParser
protected $match_Term_typestack from  EelParser
protected $match_Expression_typestack from  EelParser
protected $match_SimpleExpression_typestack from  EelParser
protected $match_ArrowFunction_typestack from  EelParser
protected $match_MethodArguments_typestack from  EelParser
protected $match_MethodArgumentsWithParens_typestack from  EelParser
protected $match_MethodArgumentsWithoutParens_typestack from  EelParser
protected $match_WrappedExpression_typestack from  EelParser
protected $match_NotExpression_typestack from  EelParser
protected $match_ConditionalExpression_typestack from  EelParser
protected $match_Disjunction_typestack from  EelParser
protected $match_Conjunction_typestack from  EelParser
protected $match_Comparison_typestack from  EelParser
protected $match_SumCalculation_typestack from  EelParser
protected $match_ProdCalculation_typestack from  EelParser
protected $match_ArrayLiteral_typestack from  EelParser
protected $match_ObjectLiteralProperty_typestack from  EelParser
protected $match_ObjectLiteral_typestack from  EelParser
protected $match___typestack from  EelParser
protected int $tmpId

Methods

match_S($stack = array())

No description

match__IntegerNumber($stack = array())

No description

match__Decimals($stack = array())

No description

match_NumberLiteral($stack = array())

No description

match_DoubleQuotedStringLiteral($stack = array())

No description

match_SingleQuotedStringLiteral($stack = array())

No description

match_StringLiteral($stack = array())

No description

match_BooleanLiteral($stack = array())

No description

match_Identifier($stack = array())

No description

match_PropertyPath($stack = array())

No description

StringLiteral_SingleQuotedStringLiteral($result, $sub)

No description

StringLiteral_DoubleQuotedStringLiteral($result, $sub)

Evaluate a double quoted string literal

match_OffsetAccess($stack = array())

No description

match_MethodCall($stack = array())

No description

match_ObjectPath($stack = array())

No description

match_Term($stack = array())

No description

match_Expression($stack = array())

No description

match_SimpleExpression($stack = array())

No description

match_ArrowFunction($stack = array())

No description

match_MethodArguments($stack = array())

No description

match_MethodArgumentsWithParens($stack = array())

No description

match_MethodArgumentsWithoutParens($stack = array())

No description

match_WrappedExpression($stack = array())

No description

match_NotExpression($stack = array())

No description

match_ConditionalExpression($stack = array())

No description

match_Disjunction($stack = array())

No description

match_Conjunction($stack = array())

No description

match_Comparison($stack = array())

No description

match_SumCalculation($stack = array())

No description

match_ProdCalculation($stack = array())

No description

match_ArrayLiteral($stack = array())

No description

match_ObjectLiteralProperty($stack = array())

No description

match_ObjectLiteral($stack = array())

No description

match__($stack = array())

No description

NumberLiteral__finalise($self)

No description

BooleanLiteral__finalise($result)

No description

OffsetAccess_Expression($result, $sub)

No description

MethodCall_Identifier($result, $sub)

No description

MethodCall_Expression($result, $sub)

No description

ObjectPath_Identifier($result, $sub)

No description

ObjectPath_OffsetAccess($result, $sub)

No description

ObjectPath_MethodCall($result, $sub)

No description

Term_term($result, $sub)

No description

Expression_exp($result, $sub)

No description

SimpleExpression_term($result, $sub)

No description

WrappedExpression_Expression($result, $sub)

No description

NotExpression_exp($result, $sub)

No description

ArrayLiteral_Expression($result, $sub)

No description

ArrayLiteral__finalise($result)

No description

ObjectLiteralProperty_Identifier($result, $sub)

No description

ObjectLiteralProperty_StringLiteral($result, $sub)

No description

ObjectLiteral_ObjectLiteralProperty($result, $sub)

No description

ObjectLiteral__finalise($result)

No description

Disjunction_lft($result, $sub)

No description

Disjunction_rgt($result, $sub)

No description

Conjunction_lft($result, $sub)

No description

Conjunction_rgt($result, $sub)

No description

Comparison_lft($result, $sub)

No description

Comparison_comp($result, $sub)

No description

string
unwrapExpression(string $expression)

Return an expression that unwraps the given expression if it is a Context object.

Comparison_rgt($result, $sub)

No description

SumCalculation_lft($result, $sub)

No description

SumCalculation_op($result, $sub)

No description

SumCalculation_rgt($result, $sub)

No description

ProdCalculation_lft($result, $sub)

No description

ProdCalculation_op($result, $sub)

No description

ProdCalculation_rgt($result, $sub)

No description

ConditionalExpression_cond($result, $sub)

No description

ConditionalExpression_then($result, $sub)

No description

ConditionalExpression_else($result, $sub)

No description

MethodArgumentsWithoutParens_Identifier($result, $sub)

No description

MethodArgumentsWithParens_Identifier($result, $sub)

No description

MethodArguments_arguments($result, $sub)

No description

ArrowFunction_arguments($result, $sub)

No description

ArrowFunction_exp($result, $sub)

No description

ArrowFunction__finalise($self)

No description

Details

match_S($stack = array())

No description

Parameters

$stack

match__IntegerNumber($stack = array())

No description

Parameters

$stack

match__Decimals($stack = array())

No description

Parameters

$stack

match_NumberLiteral($stack = array())

No description

Parameters

$stack

match_DoubleQuotedStringLiteral($stack = array())

No description

Parameters

$stack

match_SingleQuotedStringLiteral($stack = array())

No description

Parameters

$stack

match_StringLiteral($stack = array())

No description

Parameters

$stack

match_BooleanLiteral($stack = array())

No description

Parameters

$stack

match_Identifier($stack = array())

No description

Parameters

$stack

match_PropertyPath($stack = array())

No description

Parameters

$stack

StringLiteral_SingleQuotedStringLiteral($result, $sub)

No description

Parameters

$result
$sub

StringLiteral_DoubleQuotedStringLiteral($result, $sub)

Evaluate a double quoted string literal

We need to replace the double quoted string with a

Parameters

$result
$sub

match_OffsetAccess($stack = array())

No description

Parameters

$stack

match_MethodCall($stack = array())

No description

Parameters

$stack

match_ObjectPath($stack = array())

No description

Parameters

$stack

match_Term($stack = array())

No description

Parameters

$stack

match_Expression($stack = array())

No description

Parameters

$stack

match_SimpleExpression($stack = array())

No description

Parameters

$stack

match_ArrowFunction($stack = array())

No description

Parameters

$stack

match_MethodArguments($stack = array())

No description

Parameters

$stack

match_MethodArgumentsWithParens($stack = array())

No description

Parameters

$stack

match_MethodArgumentsWithoutParens($stack = array())

No description

Parameters

$stack

match_WrappedExpression($stack = array())

No description

Parameters

$stack

match_NotExpression($stack = array())

No description

Parameters

$stack

match_ConditionalExpression($stack = array())

No description

Parameters

$stack

match_Disjunction($stack = array())

No description

Parameters

$stack

match_Conjunction($stack = array())

No description

Parameters

$stack

match_Comparison($stack = array())

No description

Parameters

$stack

match_SumCalculation($stack = array())

No description

Parameters

$stack

match_ProdCalculation($stack = array())

No description

Parameters

$stack

match_ArrayLiteral($stack = array())

No description

Parameters

$stack

match_ObjectLiteralProperty($stack = array())

No description

Parameters

$stack

match_ObjectLiteral($stack = array())

No description

Parameters

$stack

match__($stack = array())

No description

Parameters

$stack

NumberLiteral__finalise($self)

No description

Parameters

$self

BooleanLiteral__finalise($result)

No description

Parameters

$result

OffsetAccess_Expression($result, $sub)

No description

Parameters

$result
$sub

MethodCall_Identifier($result, $sub)

No description

Parameters

$result
$sub

MethodCall_Expression($result, $sub)

No description

Parameters

$result
$sub

ObjectPath_Identifier($result, $sub)

No description

Parameters

$result
$sub

ObjectPath_OffsetAccess($result, $sub)

No description

Parameters

$result
$sub

ObjectPath_MethodCall($result, $sub)

No description

Parameters

$result
$sub

Term_term($result, $sub)

No description

Parameters

$result
$sub

Expression_exp($result, $sub)

No description

Parameters

$result
$sub

SimpleExpression_term($result, $sub)

No description

Parameters

$result
$sub

WrappedExpression_Expression($result, $sub)

No description

Parameters

$result
$sub

NotExpression_exp($result, $sub)

No description

Parameters

$result
$sub

ArrayLiteral_Expression($result, $sub)

No description

Parameters

$result
$sub

ArrayLiteral__finalise($result)

No description

Parameters

$result

ObjectLiteralProperty_Identifier($result, $sub)

No description

Parameters

$result
$sub

ObjectLiteralProperty_StringLiteral($result, $sub)

No description

Parameters

$result
$sub

ObjectLiteral_ObjectLiteralProperty($result, $sub)

No description

Parameters

$result
$sub

ObjectLiteral__finalise($result)

No description

Parameters

$result

Disjunction_lft($result, $sub)

No description

Parameters

$result
$sub

Disjunction_rgt($result, $sub)

No description

Parameters

$result
$sub

Conjunction_lft($result, $sub)

No description

Parameters

$result
$sub

Conjunction_rgt($result, $sub)

No description

Parameters

$result
$sub

Comparison_lft($result, $sub)

No description

Parameters

$result
$sub

Comparison_comp($result, $sub)

No description

Parameters

$result
$sub

protected string unwrapExpression(string $expression)

Return an expression that unwraps the given expression if it is a Context object.

Parameters

string $expression

Return Value

string

Comparison_rgt($result, $sub)

No description

Parameters

$result
$sub

SumCalculation_lft($result, $sub)

No description

Parameters

$result
$sub

SumCalculation_op($result, $sub)

No description

Parameters

$result
$sub

SumCalculation_rgt($result, $sub)

No description

Parameters

$result
$sub

ProdCalculation_lft($result, $sub)

No description

Parameters

$result
$sub

ProdCalculation_op($result, $sub)

No description

Parameters

$result
$sub

ProdCalculation_rgt($result, $sub)

No description

Parameters

$result
$sub

ConditionalExpression_cond($result, $sub)

No description

Parameters

$result
$sub

ConditionalExpression_then($result, $sub)

No description

Parameters

$result
$sub

ConditionalExpression_else($result, $sub)

No description

Parameters

$result
$sub

MethodArgumentsWithoutParens_Identifier($result, $sub)

No description

Parameters

$result
$sub

MethodArgumentsWithParens_Identifier($result, $sub)

No description

Parameters

$result
$sub

MethodArguments_arguments($result, $sub)

No description

Parameters

$result
$sub

ArrowFunction_arguments($result, $sub)

No description

Parameters

$result
$sub

ArrowFunction_exp($result, $sub)

No description

Parameters

$result
$sub

ArrowFunction__finalise($self)

No description

Parameters

$self