For specifying syntax, we present
a widely used notation, called context-free grammars or BNF (for Backus-Naur
Form) in Section 2.2. With the notations currently available, the semantics of
a language is much more difficult to describe than the syntax. For specifying
semantics, we shall therefore use informal descriptions and suggestive examples.
Besides specifying the syntax of a language, a context-free grammar can be
used to help guide the translation of programs.