BNF for FIL.jj

NON-TERMINALS

Start ::= ( ( Instance ) )* <EOF>
Instance ::= <INSTANCE> ( <IDENTIFIER> ) "#" ( <NUMBER> ) ";" ( Slot )* <END_INSTANCE> ";"
Slot ::= ( <IDENTIFIER> ) "=" ( Value ) ";"
Value ::= ( "+" | "-" )? ( <NUMBER> )
| <REAL>
| <STRING>
| <LOGICAL>
| <NULL>
| ( <IDENTIFIER> ) "#" ( <NUMBER> )
| ( <IDENTIFIER> ) "(" ( Value ) ")"
| ( <IDENTIFIER> )
| "?" ( <IDENTIFIER> )
| "{" ( ValueList )? "}"
| "[" ( ValueList )? "]"
ValueList ::= ( Value ) ( "," ( Value ) )*