An Ada/CS compiler for the E-machine

David K. Poole · Montana State University ScholarWorks (Montana State University) · 1994

This thesis is part of the third phase in the development of a program animation system called DYNALAB (DYNAmic LABoratory).DYNALAB is an interactive software system that demonstrates programming and computer science concepts at an introductory level.The first DYNALAB development phase was the design of a virtual computer-the E-machine (Education Machine).The E-machine was designed by Samuel D. Patton and is presented in his Master's thesis, The E-machine: Supporting the Teaching of Program Execution Dynamics.In order to facilitate the support of program animation activities, the E-machine has many unique features, notably the ability to execute in reverse.The second phase in the development of DYNALAB was the design and implementation of an E-machine emulator, which is presented in Michael L. Birch's Master's thesis, An Emulator for the E-machine.The third, ongoing phase of the DYNALAB project is the development of compilers generating E-Machine code, the first of which is the miniPascal compiler by Frances Goosey, described in her Master's thesis, A miniPascal Compiler for the E-Machine.This thesis presents the design and implementation of the second compiler for the E-machine.The compiler's source language is Ada/CS, which is a slightly modified subset of Ada.The Ada/CS compiler was developed using C++ and the Purdue Compiler Construction Tool Set (PCCTS) parser development tool.It has successfully generated object files ready for execution on the E-machine.This thesis focuses on the compilation aspects that are unique to Ada/CS, the E-machine architecture, and the planned animation environment.

Read the paper · More papers on PaperTik