|
2.0.2 Language Design as an Example of the Software DesignA language is, itself, a software system or part of a software system. The five standard phases of the software development process can provide a structure in which to develop a language (and then we can apply these all over again to its implementation!)The first phase is requirements analysis and specification. For example, RoBOTL was designed to (1) be simple-to-write programs in, (2) have object-oriented semantics, and (3) have a C++-like syntax. The second phase is software design and specification. We can apply this to language design by specifying a syntax and semantics for a new language. The third phase, implementation, is the compiler and, as mentioned above, is a software system in its own right. The fourth phase, certification, or validation checks that the software system satisfies the requirements. For a programming language, this often is a check that the compiler satisfies the syntax and semantic description. The fifth phase, maintenance, is somewhat diffenent for language design since a language really shouldn't change very often. However, languages such as Modula were followed by Modula-2 and then by Modula-3, so enhancements do take place. FORTRAN is quite different today from what it was originally in the 1950's. Exercise 1 asks the reader to describe the five phases of the compiler itself.
|