::= "START" ::= "END" | ::= | | | | ::= "FORWARD" ::= "RIGHT" ::= "COLOUR" | "COLOUR" ::= "LOOP" "OVER" ::= "SET" "(" ::= | % Variables e.g. $A, $B, $Z etc. ::= $ % One Uppercase letter ::= A, B ... Z % Any valid double (as defined by scanf("%lf"...) ::= 10 or -17.99 etc. % A single word (as defined by scanf("%s"...) with double-quotes around it % Valid colours include "BLACK", "RED", "GREEN", "BLUE", % "YELLOW", "CYAN", "MAGENTA", "WHITE" ::= "RED" "BLUE" "HELLO!" "178" ::= "{" ::= "}" | ::= | ::= ")" | | % A single mathematical operation character ::= + - / *