Mission: 'Mission' name=ID 'using' behaviours+=[Behaviour]+ 'and stops when' stoppingExpression=StoppingExpression;
StoppingExpression:
- '(' op=Operator s+=StoppingExpression s+=StoppingExpression* ')' |
+ '(' op=Operator s+=StoppingExpression s+=StoppingExpression+ ')' |
scond=StoppingCondition
;
Time: time=INT 'ms' | {Time} 'forever';
-enum Direction: BACKWARDS = 'Backwards' | FORWARDS = 'Forwards';
-enum Operator: AND = 'and' | OR = 'or';
-enum Comparison: GE='>' | LE='<';
-enum LeftRight: LEFT='Left' | RIGHT='Right';
-enum Color:
+Direction: d=DirectionE;
+enum DirectionE: BACKWARDS = 'backward' | FORWARDS = 'forward';
+Operator: d=OperatorE;
+enum OperatorE: AND = 'and' | OR = 'or';
+Comparison: d=ComparisonE;
+enum ComparisonE: GE='>' | LE='<';
+LeftRight: d=LeftRightE;
+enum LeftRightE: LEFT='left' | RIGHT='right';
+Color: d=ColorE;
+enum ColorE:
BLACK='Black' | BLUE='Blue' | BROWN='Brown' | CYAN='Cyan' |
DARKGRAY='DarkGray' | GRAY='Gray' | GREEN='Green' |
LIGHTGRAY='LightGray' | MAGENTA='Magenta' | ORANGE='Orange' | PINK='Pink' |