::= ::= "int" "(" "void" ")" "{" "}" ::= "return" ";" | "if" "(" ")" [ "else" ] ::= "return" ";" ::= ::= ? An identifier token ? ::= ? A constant token ?