The High-Level Intermediate Language L

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