In the following sections several basic building blocks for writing grammars
are presented in their prototypical forms. When these building blocks are
used to write a grammar, the resulting grammar is usually accepted by
b(). Moreover, these building blocks are frequently encountered in
programming languages. When designing your own grammar, try to stick as
closely as possible to the following basic forms.
