A portable virtual machine for Ada

  title={A portable virtual machine for Ada},
  author={Leif Ibsen},
  journal={Software: Practice and Experience},
  • Leif Ibsen
  • Published 1 January 1984
  • Computer Science
  • Software: Practice and Experience
A portable compiler can be constructed by letting it generate code for a virtual machine, which is then implemented on the real target machines. The design of a virtual machine which is especially suitable as a target machine for compiled Ada programs is described. The main design goals, implementability on mini‐computers and portability, are discussed and the resulting design is described in some detail. Some implementation strategies for the machine are proposed and the feasibility of the… 
5 Citations
A Virtual Machine Design For Nest-Free Programming
The design reflects the project's major goal of very high level support for the language allowing for straightforward compilation and direct support of a high-level debugging facility.
Software Prototyping by Relational Techniques: Experiences with Program Construction Systems
A method for designing and prototyping program construction systems using relational databases is presented and two large projects are described, which validate the approach for managing teamwork in evolving projects, identify areas where this approach is appropriate, and raise critical issues.
An Educational System for the Study of Tasking in Ada
An interpreter running Ada tasking programs and automatically giving information about each significant event occurring within tasks is described, which is very useful for teaching concurrent programming which is usually quite hard to grasp because of the lack of adequate tracing tools.
A List-Based Virtual Machine for COBOL
The architecture of such virtual machine for COBOL, which supports incremental compilation, is presented and the structure of different descriptors and descriptor lists of the virtual machine is described.


How to call procedures, or second thoughts on Ackermann's function
A surprising result from the analysis is that implementation quality is far more important than the overheads implied by language design.
Compilers and Computer Architecture
  • W. Wulf
  • Computer Science
  • 1981
An examination of the relation between architecture and compiler design leads to several principles which can simplify compilers and improve the object code they produce.
Interpretation and code generation based on intermediate languages
The possibility of supporting high level languages through intermediate languages to be used for direct interpretation and as intermediate forms in compilers is investigated and a proposal for an improved design scheme is given.
Implications of structured programming for machine architecture
A highly compact instruction encoding scheme is presented, which can reduce program size by a factor of 3.