1.0 Introduction

1.1 History

1.2 Characteristics

1.3 Scanner Generators

1.4 Parser Generators

1.5 Semantic Analyzer Generators

1.6 Optimization

1.7 Code Generation

1.8 Summary

Web References

Exercises

1.2.2 Documentation

The author once undertook a study of compiler tools and their characteristics ( Lemone, 1987 ). One characteristic was seen overwhelmingly as the most important: documentation.

Documentation describes the tool and, as for any large or complex software package, consists of two parts: (1) the user manual, and (2) the system documentation that the describes the technical aspects of the tool. The boundary between these two can be hazy, with technical details needed to know how to use it, and using it necessary to understand the technical aspects.

Documentation for even the most widely used tools is often incomplete and/or unclear although the situation is improving.

Properties of Good Documentation