1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- .TL
- The ACK Pascal Compiler
- .AU
- Aad Geudeke
- Frans Hofmeester
- .AI
- Dept. of Mathematics and Computer Science
- Vrije Universiteit
- Amsterdam, The Netherlands
- .AB
- This document describes the implementation of a Pascal to EM compiler. The
- compiler is written in C. The lexical analysis is done using a hand-written
- lexical analyzer. Semantic analysis makes use of the extended LL(1) parser
- generator LLgen. Several EM utility modules are used in the compiler.
- .AE
- .sp 2
- .NH
- Introduction
- .PP
- .nh
- The Pascal front end of the Amsterdam Compiler Kit (ACK) complies with the
- requirements of the international standard published by the International
- Organization for Standardization (ISO) [ISO]. An informal description, which
- unfortunately is not conforming to the standard, of the programming language
- Pascal is given in [JEN].
- .PP
- The main reason for rewriting the Pascal compiler was that the old Pascal
- compiler was written in Pascal itself, and a disadvantage of it was its
- lack of flexibility. The compiler did not meet the needs of the current
- ACK-framework, which makes use of modern parsing techniques and utility
- modules. In this framework it is, for example, possible to use a fast back
- end. Such a back end translates directly to object code [ACK]. Our compiler is
- written in C and it is designed similar to the current C and Modula-2 compiler
- of ACK.
- .PP
- Chapter 2 describes the basic structure of the compiler. Chapter 3 discusses
- the code generation of the main Pascal constructs. Chapter 4 covers one of
- the major components of Pascal, viz. the conformant array. In Chapter 5 the
- various compiler options that can be used are enumerated. The extensions
- to the standard and the deviations from the standard are listed in Chapter
- 6 and 7. Chapter 8 presents some ideas to improve the standard. Chapter 9
- gives a short overview of testing the compiler. The major differences
- between the old and new compiler can be found in Chapter 10. Suggestions
- to improve the compiler are described in Chapter 11. The appendices
- contain the grammar of Pascal and the changes made to the ACK Pascal run time
- library. A translation of a Pascal program to EM code as example is presented.
- .bp
|