Main = String. SPL = Block. Block = "(" List(Declaration) NList(Statement) ")". Declaration = "(" Type Variable "=" Exp ")". Type : Bool | Inte. Bool = "bool". Inte = "int". Variable = Ident. Exp : Simple | Compound. Simple : Variable | Numbe. Numbe = int. Compound = "(" Exp Op Exp ")". Op : Plus | GT. Plus = "+". GT = ">". Statement : Assignment | IfStat | WhileStat. Assignment = "(" Variable "=" Exp ")". IfStat = "(if" Exp Block "else" Block ")". WhileStat = "(while" Exp Block ")". List(S) ~ "(" {S} ")". NList(S) ~ "(" S {S} ")".