On code generation in a PASCAL compiler

  title={On code generation in a PASCAL compiler},
  author={Urs Ammann},
  journal={Software: Practice and Experience},
  • U. Ammann
  • Published 1 June 1977
  • Computer Science
  • Software: Practice and Experience
This report deals with code generation in a PASCAL compiler. It gives insight into the runtime organization of data and the use of the hardware registers of the underlying machine (a CDC 6400). It is shown how the compiler maintains a description of the register contents and uses this description to generate efficient code. Several examples of compiled code are discussed. 
Automatic compiler code generation
A classification of automatic code generation techniques and a survey of the work on these techniques is presented, and an analysis of these approaches and a critique ofautomatic code-generation algorithms are presented.
Performance measurement of a Pascal compiler
A look at the Ammann Pascal 6000-3.4 compiler from the standpoint of compiler execution efficiency is taken.
The DCode Intermediate Program Representation Reference Manual and Report
This document describes the intermediate program representation DCode, an ASCII format which specifies instructions for an abstract stack machine which is intended to serve as a guide for those wishing to create new code generator back-ends for the existing compilers, and for those wanting to create front-ended for a new language for theexisting code generators.
Simplifying code generation through peephole optimization
This dissertation describes a technique for the rapid implementation of production-quality compilers though the use of a machine-independent retargetable peephole optimizer, PO, which simplifies many of the tasks associated with developing compilers.
A hardware-independent virtual architecture for PASCAL*
  • V. Santhanam
  • Computer Science
    1979 International Workshop on Managing Requirements Knowledge (MARK)
  • 1979
Since its introduction in 1971, PASCAL language has received rapid acceptance as a structured programming tool in a wide variety of applications ranging from computer science education to systems programming in production environments, which makes it easy to adapt an existing compiler to another computer.
Abstract machines for programming language implementation
Why a two pass front end?
A FORTRAN compiler was converted from such a design to one that uses two passes for the benefit of obtaining a front end that is easier to understand and maintain.
A retargetable compiler for the generation of control routines of a microprocessor-based digital system
A retargetable compiler by using a hybrid interpretative/table-driven code generation scheme is described, and an implementation for the EMSAIL language is described.
Self‐compiling compilers: An appraisal of their implementation and portability
This paper is an attempt to classify and evaluate the different methods which have been used for writing and transporting self‐compiling compilers, according to numerous and various criteria.
OPTIMA—A portable PCODE optimizer
The design and implementation of OPTIMA, a Portable optimizer for the PASCAL‐P4 compiler, which improves the code which is produced by the compiler and is substantially smaller and faster than before optimization.


The design of a pascal compiler
  • N. Wirth
  • Computer Science
    Softw. Pract. Exp.
  • 1971
The development of a compiler for the programming language PASCAL1 is described in some detail. Design decisions concerning the layout of program and data, the organization of the compiler including
The Art of Computer Programming
The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.