protected AstNode |
Parser.add(boolean required) |
add := add (<PLUS> mul | <MINUS> mul)*
|
protected AstNode |
Parser.and(boolean required) |
and := eq (<AND> eq)*
|
protected AstNode |
Parser.cmp(boolean required) |
cmp := add (<LT> add | <LE> add | <GE> add | <GT> add)*
|
protected Scanner.Token |
Parser.consumeToken() |
consume current token (get next token).
|
protected Scanner.Token |
Parser.consumeToken(Scanner.Symbol expected) |
consume current token (get next token); throw exception if the current token doesn't
match the expected symbol.
|
protected AstNode |
Parser.eq(boolean required) |
eq := cmp (<EQ> cmp | <NE> cmp)*
|
protected AstEval |
Parser.eval() |
eval := dynamic | deferred
|
protected AstEval |
Parser.eval(boolean required,
boolean deferred) |
dynmamic := <START_EVAL_DYNAMIC> expr <END_EVAL>
deferred := <START_EVAL_DEFERRED> expr <END_EVAL>
|
protected AstNode |
Parser.expr(boolean required) |
expr := or (<QUESTION> expr <COLON> expr)?
|
protected void |
Parser.fail(String expected) |
throw exception
|
protected void |
Parser.fail(Scanner.Symbol expected) |
throw exception
|
protected AstNode |
Parser.literal() |
literal := <TRUE> | <FALSE> | <STRING> | <INTEGER> | <FLOAT> | <NULL>
|
protected Scanner.Token |
Parser.lookahead(int index) |
get lookahead symbol.
|
protected AstNode |
Parser.mul(boolean required) |
mul := unary (<MUL> unary | <DIV> unary | <MOD> unary)*
|
protected AstNode |
Parser.nonliteral() |
nonliteral := <IDENTIFIER> | function | <LPAREN> expr <RPAREN>
function := (<IDENTIFIER> <COLON>)? <IDENTIFIER> <LPAREN> list? <RPAREN>
|
protected AstNode |
Parser.or(boolean required) |
or := and (<OR> and)*
|
protected AstParameters |
Parser.params() |
params := <LPAREN> (expr (<COMMA> expr)*)? <RPAREN>
|
protected Number |
Parser.parseFloat(String string) |
Parse a floating point literal.
|
protected Number |
Parser.parseInteger(String string) |
Parse an integer literal.
|
protected AstNode |
Parser.text() |
text := <TEXT>
|
Tree |
Parser.tree() |
tree := text? ((dynamic text?)+ | (deferred text?)+)?
|
protected AstNode |
Parser.unary(boolean required) |
unary := <NOT> unary | <MINUS> unary | <EMPTY> unary | value
|
protected AstNode |
Parser.value() |
value := (nonliteral | literal) (<DOT> <IDENTIFIER> | <LBRACK> expr <RBRACK>)*
|