Luigi Semenzato
EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-93-760
July 1993
http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/CSD-93-760.pdf
L is an extensible high-level intermediate language. Its intended application is the construction of compiler back-ends and run-time libraries for high-level programming languages with complex built-in data structures, such as Hilfinger and Colella's FIDIL language. L provides a general-purpose abstract machine, Basil, and machinery for extending it. L has been used to define the abstract machine INFIDEL, described in a separate report. We call L a "high-level" intermediate language for several reasons. First, the target machine of L is a generic processor, or multiprocessor, programmable in C. The "assembly language" used by L is C. Second, L strives to be usable both as an intermediate language and a programming language. The typical extension of L is expected to have a large run-time library, also written in L. Many operators in the extended abstract machine are implemented by function calls to this library.
BibTeX citation:
@techreport{Semenzato:CSD-93-760, Author = {Semenzato, Luigi}, Title = {The High-Level Intermediate Language L}, Institution = {EECS Department, University of California, Berkeley}, Year = {1993}, Month = {Jul}, URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/6290.html}, Number = {UCB/CSD-93-760}, Abstract = {L is an extensible high-level intermediate language. Its intended application is the construction of compiler back-ends and run-time libraries for high-level programming languages with complex built-in data structures, such as Hilfinger and Colella's FIDIL language. L provides a general-purpose abstract machine, Basil, and machinery for extending it. L has been used to define the abstract machine INFIDEL, described in a separate report. We call L a "high-level" intermediate language for several reasons. First, the target machine of L is a generic processor, or multiprocessor, programmable in C. The "assembly language" used by L is C. Second, L strives to be usable both as an intermediate language and a programming language. The typical extension of L is expected to have a large run-time library, also written in L. Many operators in the extended abstract machine are implemented by function calls to this library.} }
EndNote citation:
%0 Report %A Semenzato, Luigi %T The High-Level Intermediate Language L %I EECS Department, University of California, Berkeley %D 1993 %@ UCB/CSD-93-760 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/6290.html %F Semenzato:CSD-93-760