::= * * ::= (, )*; ::= ; | { * } | = ; | = read(); | write( ); | if ( ) | if ( ) else | while () ::= | | ( ) | | ::= true | false | ( ) | | | ::= == | != | <= | < | >= | > ::= - ::= - | + | * | / | % ::= && | || ::= ! ::= int ::= letter ( letter | digit )* ::= digit digit* letter ::= a | ... | z | A | ... | Z digit ::= 0 | ... | 9