Skip to content
Snippets Groups Projects
Commit 885477f3 authored by Johannes Mey's avatar Johannes Mey
Browse files

initial try

parent 04f59d06
No related branches found
No related tags found
No related merge requests found
Pipeline #13219 passed
Tidy ::= MoveObjectToCorrectPlace* EmptyTable;
MoveObjectToCorrectPlace<object> ::= ObjectAtWrongPlace/*provides object*/ PickUpObject/*uses object*/ DropObjectAtRightPlace/*uses object*/;
PickUpObject/*requires object*/ ::= RobotIsReadyToPick Pick/*uses object*/
abstract RobotIsReadyToPick;
RobotIsReallyReadyToPick : RobotIsReadyToPick ::= RobotIsFree;
RobotIsNotReadyToPick : RobotIsReadyToPick ::= RobotIsBusy Wait/*uses const "1sec"*/ RobotIsReadyToPick;
DropObjectAtRightPlace/*requires object*/ ::= RightPlace/*uses object, provides place*/ Drop/*requires place*/;
// Tokens
EmptyTable : Token;
ObjectAtWrongPlace : Token ::= <Object:String>; // the Object is a variable of the token
Pick/*requires object*/ : Token;
RobotIsFree : Token ::= RobotIsIdle RobotHasNoItemAttached; // combined token. both individual tokens are parsed in parallel
RobotIsIdle : Token;
RobotHasNoItemAttached : Token;
Wait/*requires time*/ : Token; // artificial token, which parsing takes a specified amount of time
RightPlace/*requires object*/ : Token ::= <Place:String>;
Drop/*requires object*/ : Token;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment