{"id":{"repo_id":"uab","oai_identifier":"oai:digitalcommons.library.uab.edu:etd-collection-8090"},"canonical_url":"https://search.dev.ndltd.org/etd/uab/oai:digitalcommons.library.uab.edu:etd-collection-8090","repository":{"repo_id":"uab","name":"University of Alabama Birmingham","base_url":"https://digitalcommons.library.uab.edu/do/oai/"},"display":{"title":"An Intermediate Code for Interpretation and Code Generation in ADA.","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.","abstract_html":"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.","abstract_has_math":false,"creators":["Hull, Lee Simpson"],"institution":null,"degree_name":null,"degree_level":"Thesis","degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":1984,"date_issued":"1984-01-01T08:00:00Z","date_published":"1984-01-01T08:00:00Z","updated_at":"2026-07-24T05:06:20Z","subjects":["CL-code","Compilers","Programming languages","Storage allocation","Virtual machine"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://digitalcommons.library.uab.edu/etd-collection/7098","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Hull, Lee Simpson"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["CL-code","Compilers","Programming languages","Storage allocation","Virtual machine"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://digitalcommons.library.uab.edu/etd-collection/7098"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["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."]},{"key":"dc:title","label":"Title","values":["An Intermediate Code for Interpretation and Code Generation in ADA."]}]}],"canonical_facts":{"dc:creator":["Hull, Lee Simpson"],"dc:description.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."],"dc:identifier":["https://digitalcommons.library.uab.edu/etd-collection/7098"],"dc:subject":["CL-code","Compilers","Programming languages","Storage allocation","Virtual machine"],"dc:title":["An Intermediate Code for Interpretation and Code Generation in ADA."],"thesis:degree_level":["Thesis"]},"updated_at":"2026-07-24T05:06:20Z"}