Patentable/Patents/US-8863115
US-8863115

Execution of program code having language-level integration of program models

PublishedOctober 14, 2014
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical 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.

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for executing program code, the method comprising: receiving a source code file that includes computer code in a host language integrated with inset computer code in a domain specific language, the domain specific language being different from the host language; reading the source code file; responsive to reading computer code in the host language, invoking a set of computing instructions indicated by the computer code in accordance with the host language by interpreting a computing instruction indicated by the computer code as an operation in the host language; and responsive to reading inset computer code in the domain specific language, invoking a set of computing instructions indicated by the inset computer code in accordance with the domain specific language by performing operations including: selecting a domain specific language specification for the inset computer code, the domain specific language specification including instructions written in the host language for executing the inset computer code by relating tokens that include strings of characters from the domain specific language to corresponding tokens that include strings of characters from the host language and relating at least one grammatical rule for operations on tokens from the domain specific language to at least one corresponding grammatical rule for operations on tokens from the host language, and using the domain specific language specification to process the inset computer code.

2

2. The method of claim 1 , further comprising: detecting the inset computer code using a predefined escape token.

3

3. The method of claim 1 , wherein invoking the set of computing instructions indicated by the inset computer code in accordance with the domain specific language comprises: passing the inset computer code to a domain specific language inset processor for execution thereby; and passing a binding context to the domain specific language inset processor for the execution of the inset computer code, the binding context describing a memory state of a computing system when the inset computer code is read, and the binding context including values of variables in the host language corresponding to the invocation of the set of computing instructions indicated by the computer code.

4

4. The method of claim 1 , wherein the host language is an interpreted language, and a line of the inset computer code in the domain specific language is interpreted as a result of the processing based on the instructions written in the host language from the domain specific language specification.

5

5. The method of claim 1 , wherein the host language is Ruby.

6

6. The method of claim 1 , wherein the corresponding tokens and the at least one corresponding grammatical rule are used to interpret the inset computer code as at least one result of the processing based on the instructions written in the host language from the domain specific language specification.

7

7. The method of claim 1 , wherein the inset computer code is interpreted as at least one result of the processing based on the instructions written in the host language from the domain specific language specification.

8

8. A computer program product for executing program code, the computer program product comprising a computer-readable storage medium including computer program code that comprises: a host language processor configured to execute program code in a host language by interpreting a line of program code in the host language as an operation in the host language; a domain specific language inset processor configured to execute program code in a domain specific language by performing operations including: selecting a domain specific language specification for domain specific language, the domain specific language specification including instructions written in the host language for executing the program code in the domain specific language by relating tokens that include strings of characters from the domain specific language to corresponding tokens that include strings of characters from the host language and relating at least one grammatical rule for operations on tokens from the domain specific language to at least one corresponding grammatical rule for operations on tokens from the host language, the domain specific language being different from the host language, and using the domain specific language specification to process the inset computer code; and a lexical analyzer configured to receive a source code file that contains includes computer code in the host language integrated with inset computer code in the domain specific language, the lexical analyzer being further configured to pass program code in the host language to the host language processor and pass inset computer code in the domain specific language to the domain specific language inset processor.

9

9. The computer program product of claim 8 , wherein the lexical analyzer is further configured to detect the inset computer code using a predefined escape token.

10

10. The computer program product of claim 8 , wherein the domain specific language inset processor is configured to execute program code in a domain specific language by: passing the inset computer code to a domain specific language inset processor for execution thereby; and passing a binding context to the domain specific language inset processor for the execution of the inset computer code, the binding context describing a memory state of a computing system when the inset computer code is read, and the binding context including values of variables in the host language corresponding to executing the computer code in the host language.

11

11. The computer program product of claim 8 , wherein the host language is an interpreted language, and a line of the inset computer code in the domain specific language is interpreted as a result of the processing based on the instructions written in the host language from the domain specific language specification.

12

12. The computer program product of claim 8 , wherein the host language is Ruby.

13

13. A computer program product for executing program code, the computer program product comprising a computer-readable storage medium including computer program code for: receiving a source code file that includes computer code in a host language integrated with inset computer code in a domain specific language, the domain specific language being different from the host language; reading the source code file; responsive to reading computer code in the host language, invoking a set of computing instructions indicated by the computer code in accordance with the host language by interpreting a computing instruction indicated by the computer code as an operation in the host language; and responsive to reading inset computer code in the domain specific language, invoking a set of computing instructions indicated by the inset computer code in accordance with the domain specific language by performing operations including: selecting a domain specific language specification for the inset computer code, the domain specific language specification including instructions written in the host language for executing the inset computer code by relating tokens that include strings of characters from the domain specific language to corresponding tokens that include strings of characters from the host language and relating at least one grammatical rule for operations on tokens from the domain specific language to at least one corresponding grammatical rule for operations on tokens from the host language, and using the domain specific language specification to process the inset computer code.

14

14. The computer program product of claim 13 , further comprising computer program code for: detecting the inset computer code using a predefined escape token in the host language.

15

15. The computer program product of claim 13 , wherein invoking the set of computing instructions indicated by the inset computer code in accordance with the domain specific language comprises: passing the inset computer code to a domain specific language inset processor for execution thereby; and passing a binding context to the domain specific language inset processor for the execution of the inset computer code, the binding context describing a memory state of a computing system when the inset computer code is read, and the binding context including values of variables in the host language corresponding to the invocation of the set of computing instructions indicated by the computer code.

16

16. The computer program product of claim 13 , wherein the host language is an interpreted language, and a line of the inset computer code in the domain specific language is interpreted as a result of the processing based on the instructions written in the host language from the domain specific language specification.

17

17. The computer program product of claim 13 , wherein the host language is Ruby.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

March 20, 2008

Publication Date

October 14, 2014

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Execution of program code having language-level integration of program models” (US-8863115). https://patentable.app/patents/US-8863115

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.