The STEP language is implemented using the following grammar:
::=
::= | | | | | |
::=
::= | | |
point main begin end
( , )
origin? ( ) if(){}else{} move ( *)
{ * } val =
up () down () left () right ()
"a program"
"point expr" "num expr" "origin? expr" "if expr" "move expr" "iden expr" "block expr"
"val"
"up expr" "down expr" "left expr" "right expr"
Question 1 (30 points)
Write down the SLLGEN parser grammar specification for the STEP language.