behaviours generate just fine now, missions is next. We also need some color functions
[des2015.git] / dsl / xtend / src / robots / missions / TaskDSL.xtext
index 3302953..79128de 100644 (file)
@@ -12,7 +12,7 @@ Robot:
 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
 ;
 
@@ -32,11 +32,16 @@ Action:
 
 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' |