Unification of a programming language and a definition language
First Claim
1. A computer readable medium having stored thereon a computer executable compiler system that performs semantic analysis of interface definition language constructs embedded in programming language code in a file, the compiler system comprising:
- a front end module that separates a file into plural tokens, the file including programming language code having embedded therein interface definition language constructs;
a converter module that converts the plural tokens into an intermediate representation, wherein the intermediate representation includes a symbol table and a tree that unifies representation of the programming language code and the embedded interface definition language constructs,wherein at least some of the embedded interface definition language constructs are represented in the tree without creating new programming language code for the at least some of the embedded interface definition language constructs, wherein the symbol table includes plural entries for symbol names for the programming language code, and wherein at least one of the plural entries has an associated list of definition language attributes; and
a back end module that produces output computer-executable code from the intermediate representation based at least in part upon semantics of the embedded interface definition language constructs.
2 Assignments
0 Petitions
Accused Products
Abstract
Unification of a programming language with a definition language creates a powerful tool for object-oriented programming. A programming language is extended to include definition language constructs. In a compiler environment, a compiler recognizes the definition language constructs in programming language code. The compiler environment unifies representation of the definition language information and programming language code in a unified parse tree, and derives semantic meaning from definition language information. The compiler environment also checks for lexical, syntax, and semantic errors.
56 Citations
20 Claims
-
1. A computer readable medium having stored thereon a computer executable compiler system that performs semantic analysis of interface definition language constructs embedded in programming language code in a file, the compiler system comprising:
-
a front end module that separates a file into plural tokens, the file including programming language code having embedded therein interface definition language constructs; a converter module that converts the plural tokens into an intermediate representation, wherein the intermediate representation includes a symbol table and a tree that unifies representation of the programming language code and the embedded interface definition language constructs, wherein at least some of the embedded interface definition language constructs are represented in the tree without creating new programming language code for the at least some of the embedded interface definition language constructs, wherein the symbol table includes plural entries for symbol names for the programming language code, and wherein at least one of the plural entries has an associated list of definition language attributes; and a back end module that produces output computer-executable code from the intermediate representation based at least in part upon semantics of the embedded interface definition language constructs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer executable compiler system stored in a computer system that creates a unified programming language and interface definition language parse tree from a file comprising a mix of programming language constructs and interface definition language constructs, the compiler system comprising:
-
a front end module that separates a file into plural tokens, the file comprising a mix of programming language constructs and interface definition language constructs; and a converter module that converts the plural tokens into an intermediate representation comprising a symbol table and a parse tree, wherein; the symbol table includes plural entries for symbol names for the programming language constructs, at least one of the plural entries having an associated list of interface definition language attributes; the parse tree unifies representation of the programming language constructs and the interface definition language constructs; and at least some of the interface definition language constructs are represented in the parse tree without creating new programming language constructs for the at least some of the interface definition language constructs. - View Dependent Claims (16, 17, 20)
-
-
18. A computer readable medium having stored thereon a data structure representing a unified interface definition language and programming language parse tree for a file having a combination of programming language code and embedded interface definition language constructs, the data structure comprising:
-
a first data field storing data representing a symbol table that has plural entries, each of the plural entries corresponding to a symbol name for programming language code of a file having a combination of programming language code and embedded interface definition language constructs, at least one of the plural entries having an associated list of interface definition language attributes based upon the embedded interface definition language constructs; and a second data field storing data representing a parse tree, wherein the parse tree unifies representation of the programming language code and the embedded interface definition language constructs; and wherein at least some of the embedded interface definition language constructs are represented in the parse tree without creating new programming language code for the at least some of the embedded interface definition language constructs.
-
-
19. A computer readable medium having stored thereon instructions for performing a method of creating a unified programming language and definition language tree from a file that includes interface definition language constructs embedded in programming language code, the method comprising:
-
separating a file into plural tokens, the file including interface definition language constructs embedded in programming language code; building a symbol table having plural entries for symbol names for the programming language code, at least one of the plural entries having an associated list of definition language attributes based upon the embedded interface definition language constructs; and building a tree that unifies representation of the embedded interface definition language constructs and the programming language code, wherein the building comprises representing at least some of the embedded interface definition language constructs in the tree without creating new programming language code for the at least some of the embedded interface definition language constructs.
-
Specification