Gentlemen Language Spec (BNF Grammar) by Michael Ardizzone and Tim Smith NOTE: All non-terminals are enclosed in angle braces ("<" ">"). The lexer does permit extra spaces occasionally, but don't count on it. Spaces around operands are required. ::= begin: end. ::= ; ::= ; ::= ::= ::= ::= ::= ::= ::= = ::= print ::= print "" ::= while () do endwhile ::= if () then endif ::= ::= ::= "" ::= ::= ::= ::= == ::= != ::= + ::= int ::= string ::= ::= ::= ::= ::= ::= ::= a | b | c | d | ... | x | y | z ::= ::= space ::= 1 | 2 | 3 | ... | 8 | 9 | 0