Added robot DSL
[des2015.git] / natanael / dsl / robots.missions / TaskDSL.xtext
1 grammar robots.missions.TaskDSL with org.eclipse.xtext.common.Terminals
2
3 generate taskDSL "http://www.missions.robots/TaskDSL"
4
5 Robot:
6 'RobotName' name=ID
7 'LefMotor' leftMotor=LeftMotor
8 'RightMotor' righMotor=RightMotor
9 sensors+=Sensor+
10 behaviours+=Behaviour+;
11
12 Behaviour:
13 'Behaviour' name=ID;
14
15 Sensor:
16 'Sensor' name=ID
17 'SensorType' sensorType=SensorType;
18
19 LeftMotor:
20 'Acceleration' acc=INT
21 'Speed' spd=INT;
22
23 RightMotor:
24 'Acceleration' acc=INT
25 'Speed' spd=INT;
26
27 SensorType:
28 TouchSensor | ColorSensor | UltrasonicSensor;
29
30 TouchSensor:
31 'TouchSensor' leftPort=STRING rightPort=STRING;
32
33 ColorSensor:
34 'ColorSensor' port=STRING
35 colors+=Color+;
36
37 UltrasonicSensor:
38 'UltrasonicSensor' port=STRING
39 'limit' limit=STRING;
40
41 Color:
42 'Color' name=ID
43 'ColorID' colorID=STRING;
44
45 Model:
46 greetings+=Greeting*;
47
48 Greeting:
49 'Hello' name=ID '!';