BNF for SLParser.jj

NON-TERMINALS

Content ::= ( ( <OPEN_BRACKET> | <CONTENTKW> ) ( ContentExpression )+ <CLOSE_BRACKET> )
ContentExpression ::= ( MetaVariable | ActionExpression | IdentifyingExpression | Formula )
ActionExpression ::= ( ( <ACTIONKW> Term Term <CLOSE_BRACKET> ) | ( <PIPEKW> Term Term ( Term )* <CLOSE_BRACKET> ) | ( <SEMICOLONKW> Term Term ( Term )* <CLOSE_BRACKET> ) )
IdentifyingExpression ::= ( ( <IOTAKW> Term Formula <CLOSE_BRACKET> ) | ( <ALLKW> Term Formula <CLOSE_BRACKET> ) | ( <ANYKW> Term Formula <CLOSE_BRACKET> ) | ( <SOMEKW> Term Formula <CLOSE_BRACKET> ) )
Formula ::= ( MetaVariable | AtomicFormula | ( <DONEKW> Term ( Formula )? <CLOSE_BRACKET> ) | ( <FEASIBLEKW> Term ( Formula )? <CLOSE_BRACKET> ) | ( <NOTKW> Formula <CLOSE_BRACKET> ) | ( <ANDKW> Formula Formula ( Formula )* <CLOSE_BRACKET> ) | ( <ORKW> Formula Formula ( Formula )* <CLOSE_BRACKET> ) | ( <IMPLIESKW> Formula Formula <CLOSE_BRACKET> ) | ( <EQUIVKW> Formula Formula <CLOSE_BRACKET> ) | ( <EXISTSKW> Variable Formula <CLOSE_BRACKET> ) | ( <FORALLKW> Variable Formula <CLOSE_BRACKET> ) | ( <BELIEVEKW> Term Formula <CLOSE_BRACKET> ) | ( <UNCERTAINTYKW> Term Formula <CLOSE_BRACKET> ) | ( <INTENTIONKW> Term Formula <CLOSE_BRACKET> ) | ( <PERSISTENTGOALKW> Term Formula <CLOSE_BRACKET> ) )
AtomicFormula ::= ( Symbol | ( <RESULTKW> Term Term <CLOSE_BRACKET> ) | ( <EQUALSKW> Term Term <CLOSE_BRACKET> ) | ( FunctionalTermOrPredicate ) | ( <TRUEKW> ) | ( <FALSEKW> ) )
Terms ::= ( Term )+
Symbol ::= ( MetaVariable | ( <STRING_LITERAL> | <BYTES> | <WORD> ) )
String ::= ( <STRING_LITERAL> | <BYTES> | <WORD> )
Term ::= ( MetaVariable | Constant | TermSet | TermSequence | FunctionalTermOrPredicate | ActionExpression | IdentifyingExpression | Variable | ( <CONTENTKW> ( ContentExpression )+ <CLOSE_BRACKET> ) )
Constant ::= ( <STRING_LITERAL> | <WORD> | <BYTES> | <FLOAT> | <INTEGER> | <DATE_TIME> )
TermSet ::= ( <SETKW> ( Terms )? <CLOSE_BRACKET> )
TermSequence ::= ( <SEQUENCEKW> ( Terms )? <CLOSE_BRACKET> )
FunctionalTermOrPredicate ::= ( ( <OPEN_BRACKET> Symbol ( Terms | Parameters )? <CLOSE_BRACKET> ) )
Parameters ::= ( Parameter )+
Parameter ::= ( ( <PARAMETER_NAME> Term ) | ( <METAOPTIONKW> <PARAMETER_NAME> Term <CLOSE_BRACKET> ) )
Variable ::= ( MetaVariable | <VARIABLE> )
MetaVariable ::= ( <META_VARIABLE> )