Extending the functionality of a host programming language
First Claim
1. A computer-implemented method for extending the functionality of a host language, the method comprising:
- providing a language extension file that defines at least a portion of a domain specific language;
applying a lexer to the language extension file to generate a first portion of a domain specific language specification;
applying a parser to the language extension file to generate a second portion of a domain specific language specification, wherein the domain specific language specification describes a procedure in the host language for executing a set of functions from the domain specific language; and
incorporating the domain specific language specification into a system for executing program code in the host language.
2 Assignments
0 Petitions
Accused Products
Abstract
To enable language-level integration of multiple programming languages into a single programming framework, one or more domain specific languages (DSLs) are specified as incremental extensions to a host programming language. An application created in this framework may include program code written in the host language as well as DSL inset code that is written in any of the DSLs. The extensions to the host language are described in DSL specifications, which define how the DSL inset code is processed. At runtime, DSL inset code in the source code is detected and passed to a DSL inset processor for execution according to an appropriate DSL specification, whereas source code in the host language is executed by a host language processor.
47 Citations
15 Claims
-
1. A computer-implemented method for extending the functionality of a host language, the method comprising:
-
providing a language extension file that defines at least a portion of a domain specific language; applying a lexer to the language extension file to generate a first portion of a domain specific language specification; applying a parser to the language extension file to generate a second portion of a domain specific language specification, wherein the domain specific language specification describes a procedure in the host language for executing a set of functions from the domain specific language; and incorporating the domain specific language specification into a system for executing program code in the host language. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for extending the functionality of a host language, the computer program product comprising a computer-readable storage medium containing computer program code for:
-
providing a language extension file that defines at least a portion of a domain specific language; applying a lexer to the language extension file to generate a first portion of a domain specific language specification; applying a parser to the language extension file to generate a second portion of a domain specific language specification, wherein the domain specific language specification describes a procedure in the host language for executing a set of functions from the domain specific language; and incorporating the domain specific language specification into a system for executing program code in the host language. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method for extending the functionality of a host language, the method comprising:
-
providing a first language extension file that defines at least a portion of a first domain specific language; generating a first domain specific language specification based on the first language extension file applying a lexer and parser thereto, wherein the first domain specific language specification describes a procedure in the host language for executing a set of functions from the first domain specific language; providing a second language extension file that defines at least a portion of a second domain specific language; generating a second domain specific language specification based on the second language extension file applying a lexer and parser thereto, wherein the second domain specific language specification describes a procedure for executing a set of functions from the first domain specific language, and wherein the second domain specific language specification uses one or more functions defined in the first domain specific language specification; incorporating the first and second domain specific language specifications into a system for executing program code in the host language.
-
Specification