8.2. Podrobný zápis gramatiky |
---|
Předchozí | Kapitola 8. Gramatika pro tvorbu výrazů pro hodnocení odpovědí | Následující |
---|
8.2. Podrobný zápis gramatiky
expression
: or_expression
;
or_expression
: and_expression (OR and_expression)*
;
and_expression
: relational_expression (AND relational_expression)*
;
relational_expression
: LETTER (EQUAL|NOTEQUAL|LT|GT|LE|GE) constant
| not_expression
;
not_expression
: (NOT)? LPAREN! expression RPAREN!
;
constant
: numeric_plusminus_constant
| boolean_constant
| string_constant
| order_numeric_constant
;EQUAL
numeric_plusminus_constant
: (PLUS|MINUS)? numeric_constant
;
order_numeric_constant
: ORDER_INT_CONST
;
numeric_constant
: INT_CONST
| FLT_CONST
| BINARY_INTEGER
| OCTAL_INTEGER
| HEXADECIMAL_INTEGER
;
boolean_constant
: TRUE_LIT
| FALSE_LIT
;
string_constant
: STR_CONST
;
* znamená výskyt 0 až n-krát, ! znamená povinný výskyt, ? znamená výskyt 0 nebo 1-krát, operátor | znamená nebo