BNF for config.jj

NON-TERMINALS

ConfigurationUnit ::= ( OpDefinition )*
OpDefinition ::= ( <OPERATOR> ( <OPID> ) ( OpBody | OpNull ) )
| OpSynonym
| OpBuiltin
OpBody ::= <NUMBER> <NUMBER> ( ( <LEFTASSOC> ) | ( <RIGHTASSOC> ) | ( <NOASSOC> ) ) ( ( <INFIX> ) | ( <PREFIX> ) | ( <POSTFIX> ) | ( <NFIX> ) ) ( <OPID> )?
OpSynonym ::= <SYNONYM> <OPID> <OPID>
OpNull ::= <NOTOP>
OpBuiltin ::= <BUILTIN> <OPID> <RESTRICTED> ( <INFIX> | <PREFIX> | <POSTFIX> | <CONSTANT> | <NUMBER> )