BNF for a simple programming language ::= program is ::= begin end ::= e | ::= var : ; ::= integer | boolean ::= | , ::= | ; ::= := | skip | read | write | while then end if | if then else end if | repeat until ::= | | | if then else | begin return end ::= | ::= | ::= | | | ( ) | - ::= | or ::= | and ::= true | false | | | not ( ) | ( ) ::= ::= ::= <= | < | = | > | >= | <> ::= + | - ::= * | / ::= | | ::= | ::= "" ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z ::= | ::= . ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9