An Attributed LL(1) Compilation of PASCAL into the Lambda-Calculus.
Abstract
A Pascal compiler is described whose target language is the lambda-calculus instead of some machine code. Although the lambda-calculus code generated by this complier can be executed by means of a lambda-expression reducer, the intended use of the translation is in proving programs correct. The complier is written in Pascal itself, and contains an attributed LL(1) parser of the complete standard Pascal language. The error recovery is quite elaborate. The code generalization is done for a large subset of the language, covering: assignments, compound, conditional and repetitive statements, procedures including recursive calls and global side effects, multidimensional arrays. This report contains a formal definition of the target language, a lambda-calculus model for the selected subset of Pascal, and a code-independent description of compilation algorithms including the complete LL(1) push-down automation.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 01, 1981
- Accession Number
- ADA103750
Entities
People
- Erich Kaltofen
- S. Kamal Abdali
Organizations
- Rensselaer Polytechnic Institute