Extendable compiler framework
First Claim
1. A method for performing a compilation process on a computer program, the method comprising:
- performing a programming language-independent portion of the compilation process;
invoking through a first language interface a first language module to perform programming language-dependent analysis of the computer program;
invoking through the first language interface the first language module to perform code generation for the computer program;
providing feedback to one or more clients based on at least one of the analysis and the code generation; and
wherein the first language interface is coupled to the first language module.
1 Assignment
0 Petitions
Accused Products
Abstract
To meet the current trend in computer programming, a multi-programming-language compiler system is designed to include a compiler framework which creates a general environment in which to carry out compilation and language modules to encapsulate the details of various programming languages. Such a system makes it easy for tool vendors and end users to adapt to a world where computer programs are written in multiple languages. New language modules may be written that add support for new languages to the compiler framework. It may also be possible to extend existing language modules so that a variant on an existing language may be added to the compiler framework. Such a system may also be adapted to permit several different clients to access detailed language information from the compiler framework. These clients may include a standard command-line shell or a sophisticated multi-language integrated development environment. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
101 Citations
19 Claims
-
1. A method for performing a compilation process on a computer program, the method comprising:
-
performing a programming language-independent portion of the compilation process;
invoking through a first language interface a first language module to perform programming language-dependent analysis of the computer program;
invoking through the first language interface the first language module to perform code generation for the computer program;
providing feedback to one or more clients based on at least one of the analysis and the code generation; and
wherein the first language interface is coupled to the first language module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine readable medium having instructions stored thereon to cause a system to:
-
perform a programming language-independent portion of the compilation process;
invoke through a first language interface a first language module to perform programming language-dependent analysis of the computer program;
invoke through the first language interface the first language module to perform code generation for the computer program;
provide feedback to one or more clients based on at least one of the analysis and the code generation; and
wherein the first language interface is coupled to the first language module. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer signal embodied in a transmission medium, comprising:
-
a code segment including instructions for performing a programming language-independent portion of the compilation process;
a code segment including instructions for invoking through a first language interface a first language module to perform programming language-dependent analysis of the computer program;
a code segment including instructions for invoking through the first language interface the first language module to perform code generation for the computer program;
a code segment including instructions for providing feedback to one or more clients based on at least one of the analysis and the code generation; and
wherein the first language interface is coupled to the first language module.
-
Specification