
Document Type
Thesis
Date of Award
1984
Abstract
An intermediate language for compilers, called CL-code, is presented which allows the combined advantages of direct interpretation and usage as an intermediate form in machine code generation. CL-code is an intermediate code defined to execute on a virtual stack machine and is machine— independent. Its design permits implementation by more than a single method - CL-code may be interpreted by simulating the virtual machine with software, or CL-code may be translated into the machine code of an actual machine.Independence from the method of implementation derives from two sources. The most important is that CL-code may be generated during the syntax analysis phase of the compiler without prior allocation of storage. Storage allocation is performed only as part of the interpreter or as part of the code generator. The second source of the flexibility of CL-code is the high-level nature of its statements which permits most details of addressing and computations to be abstracted to allow more general types of intermediate code instructions to be generated.Another novel feature of CL-code is that it may be used in the translation of concurrent programming languages, in particular, Ada. CL-code contains instructions which define the creation and control of independent processes that can subsequently communicate with each other. A partial implementation of CL-code by both interpretation and code generation in a single compiler is described.
Recommended Citation
Hull, Lee Simpson, "An Intermediate Code for Interpretation and Code Generation in ADA." (1984). All ETDs from UAB. 7098.
https://digitalcommons.library.uab.edu/etd-collection/7098
Comments
MS - Master of Science/Master of Surgery; ProQuest publication number 31752018