05613117 is referenced by 110 patents and cites 9 patents.

A compiler framework uses a generic "shell" and a generic back end (where the code generator is target-specific). The generic back end provides the functions of optimization, register and memory allocation, and code generation. The code generation function of the back end may be targeted for any of a number of computer architectures. A front end is tailored for each different source language, such as Cobol, Fortran, Pascal, C, C++, etc. The front end scans and parses the source code modules, and generates from them an intermediate language representation of the source code programs expressed in the source code. The intermediate language represents any of the source code languages in a universal manner, so the interface between the front end and back end is of a standard format, and need not be rewritten for each language-specific front end. A feature is a method for doing code generation using code templates in a multipass manner. The selection and application of code templates occurs at four different times during the compilation process: (1) A pattern select phase does a pattern match in a context pass to select the best code templates; (2) Tasks of the context pass use context actions of the selected templates to analyze the evaluation order to expressions and to allocate temporary names; (3) A bind pass uses the binding actions of the selected templates to allocate template names; (4) Finally, a code pass uses code generation actions of the selected templates to guide the generation of object code.

Title
Optimizing compiler using templates corresponding to portions of an intermediate language graph to determine an order of evaluation and to allocate lifetimes to temporary names for variables
Application Number
662464
Publication Number
5613117
Application Date
April 20, 1994
Publication Date
March 18, 1997
Inventor
Steven O Hobbs
Westford
MA, US
Richard B Grove
Westford
MA, US
Caroline S Davidson
Hollis
NH, US
Agent
Arthur W Fisher
Denis G Maloney
Assignee
Digital Equipment Corporation
MA, US
IPC
G06F 5/00
G06F 3/00
View Original Source