All ETDs from UAB

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.

Comments

MS - Master of Science/Master of Surgery; ProQuest publication number 31752018

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.