The placement of the examples section this early in the document
presents an issue for inexperienced users, the placement precedes some
of the descriptions which would all ow appreciation of the examples. In
addition, some of the subsequent information in the manual can be
usefully made into an example(s).
An example illustrates to use of concepts. The manual defines that
usage. At the point of the example the are considerable other material
to consider. .It might be best to put the examples in an Appendix.
Following all of the manual descriptions allows the descriptions
reference examples for clarification of use, and for the examples to
reference descriptions for clarification of use.
It would be particularly instructive if your examples showed direct
execution on input during, exhibiting the EBNF used as a vehicle to
execute input, and to show how the input can be used to generate
'output', the same thing that compilers do. I think it important to
mention in, for example, 1.4 Semantic Actions and 3.4.6 Actions.
The infix calculator is excellent to show the end-around result of these
two stratagems. The polish post fix calculator can be used to generate a
zero-address machine code (see Burroughs B5500, B6500, the HP 3000, and
HP Calculatorsand the Algol 60 textbook), and the infix calculator can
be used to illustrate direct execution.
The 'code' generated by the polish post fix calculator is small and
attractive. It would consist of a push command plus commands for add,
subtract, divide, and multiply. Further, the resultant 'code' can be
easily used to illustrate the process.
The manual contains infix and a polish post fix examples. Both examples
show direct execution of the grammar. Partitioning them into two
different examples shows a range of opportunities available in Bison.
art