Method to produce application oriented languages
First Claim
1. A method for making a jargon application-oriented language to represent models of application domains and for processing the models, comprising:
- providing an abstract syntax specification of jargons;
providing a host programming language for defining the semantics of jargons; and
providing a base interpreter written in the host programming language and customizable with the semantics of a plurality of jargons.
1 Assignment
0 Petitions
Accused Products
Abstract
Jargons are a family of application oriented languages well-suited for representing and processing complex, hierarchically structured information. A system is presented that automates most of the work of making a jargon, so practically any programmer can make a simple one in a few days. Every jargon has the same syntax, is processed with same ready-made base interpreter, and comes complete with a suite of “deluxe” features: debugger, error handler, function definition, associative arrays, variables, incremental loader, among others. The system provides a general purpose programming language for writing actions that defines the semantics of a jargon and an interpreter written in the general purpose language and customized for the jargon, by integrating the jargon'"'"'s actions into the interpreter. Using jargons, the same information document may be reprocessed to generate a multiplicity of products.
92 Citations
16 Claims
-
1. A method for making a jargon application-oriented language to represent models of application domains and for processing the models, comprising:
-
providing an abstract syntax specification of jargons;
providing a host programming language for defining the semantics of jargons; and
providing a base interpreter written in the host programming language and customizable with the semantics of a plurality of jargons.
-
-
2. A method for representing a domain model in a jargon application-oriented language and processing the domain model comprising:
-
making a jargon;
defining a semantics of the jargon;
representing a first domain model by writing a document in the jargon; and
processing the first domain model with the base interpreter customized with a semantics of the jargon. - View Dependent Claims (3, 4, 5, 6)
providing an abstract syntax specification of jargons; and
preparing a set of expressions in accord with the abstract syntax specification, the expressions being suitable for representing domain models.
-
-
4. A method for representing a domain model in a jargon application-oriented language and processing the domain model of claim 3, wherein said defining a semantics of the jargon further comprises:
-
providing a host programming language; and
preparing a wizer comprising a set of actions written in the host programing language, the actions corresponding to the expressions of the jargon and processing information associated with the expressions in a jargon document representing a domain model.
-
-
5. A method for representing a domain model in a jargon application-oriented language and processing the domain model of claim 4, wherein said processing the first domain model with the base interpreter customized with a semantics of the jargon further comprises the steps of:
-
providing a base interpreter written in the host programming language;
executing the base interpreter;
supplying a wizer to the executing base interpreter;
the executing base interpreter automatically customizing itself with a semantics of the jargon by integrating the actions of the wizer; and
processing the first domain model by supplying the document representing the model to the executing customized interpreter.
-
-
6. A method for representing a domain model in a jargon application-oriented language and processing the domain model of claim 5, which further comprises:
-
repeating the steps of;
representing a next domain model by writing a document in the jargon; and
processing the next domain model with the base interpreter customized with a semantics of the jargon;
until a plurality of domain models have been processed.
-
-
7. A method for representing a domain model in a plurality of jargon application-oriented languages and processing the domain model, comprising:
-
making a plurality of jargons;
defining a semantics of each of the plurality of jargons;
representing a first domain model by writing a document in a plurality of the jargons; and
processing the first domain model with the base interpreter customized with a semantics of each of the plurality of jargons. - View Dependent Claims (8, 9)
providing a base interpreter written in the host programming language;
executing the base interpreter;
supplying the plurality of wizers to the executing base interpreter, each wire comprising a set of actions written in a host programming language;
the executing base interpreter automatically customizing itself with a semantics of each of the plurality of jargons by integrating the actions of each wizer; and
processing the first domain model by supplying the document representing the model to the executing customized interpreter.
-
-
9. A method for representing a domain model in a plurality of jargon application-oriented languages and processing the domain model of claim 8, which further comprises;
-
repeating the steps of;
representing a next domain model by writing a document in a plurality of the jargons; and
processing the next domain model by supplying the document representing the model to the base interpreter customized with a semantics of each of the plurality of jargons;
until a plurality of domain models have been processed.
-
-
10. A method of representing a domain model in a jargon application-oriented language and processing the domain model multiple times to produce a plurality of products, comprising:
-
making a jargon;
defining a first semantics of the jargon;
representing a domain model by writing a document in the jargon; and
processing the domain model with the base interpreter customized with the first semantics of the jargon to produce a first product. - View Dependent Claims (11, 12)
providing a base interpreter written in a host programming language;
executing the base interpreter;
supplying a wizer defining the first semantics of the jargon to the executing base interpreter, each wizer comprising a set of actions written in a host programming language;
the executing base interpreter automatically customizing itself with the first semantics of the jargon by integrating the actions of the wizer; and
processing the domain model by supplying the document representing the model to the executing customized interpreter to produce the first product.
-
-
12. A method for representing a domain model in a jargon application-oriented language and processing the domain model multiple times to produce a plurality of products of claim 11, which further comprises:
-
repeating the steps of;
defining a next semantics of the jargon;
processing the domain model with the base interpreter customized with the next semantics of the jargon to produce a next product;
until the domain model has been processed with a plurality of semantics of the jargon to produce a plurality of products.
-
-
13. A method of augmenting every jargon application-oriented language with the capabilities of a base jargon, comprising:
-
making a base jargon, comprising the steps of;
providing an abstract syntax specification of jargons; and
preparing a set of expressing in accord with the abstract syntax specification, the expressions being capable of modeling;
programmatic variables, data structures including associative arrays, evaluation control, environments specifying the jargons whose semantics are defined, paths to search for input files and wizers, each wizer comprising a set of actions written in a host programming language, file input and output, and debugging aids;
providing every jargon with the capabilities of the base jargon comprising the steps of;
defining a semantics of the base jargon;
providing a base interpreter written in a host programming language;
enhancing the base interpreter with the semantics of the base jargon by integrating the actions of its wizer into the interpreter; and
replacing the base interpreter with the enhanced interpreter.
-
-
14. A method of transforming a domain model expressed in a jargon application-oriented language into a data structure of the host programming language, comprising:
-
providing a host programming language;
writing a proxy action in the host programming language capable of transforming jargon expressions into components of a data structure in the host programming language;
providing a base interpreter written in the host programming language; and
integrating the proxy action into the base interpreter so that during the processing of a jargon document, the proxy action defines the semantics of jargon expressions whose semantics are otherwise undefined because there is no action corresponding to the expressions in any wizer supplied to the interpreter.
-
-
15. A method for representing a domain model in a plurality of jargon application-oriented languages and processing the domain model multiple times to produce a plurality of products, comprising:
-
making a plurality of jargons;
defining a semantics of each of the plurality of jargons;
representing a first domain model by writing a document in a plurality of the jargons; and
processing the first domain model with the base interpreter customized with a semantics of each of the plurality of jargons;
whereby a model written in a plurality of jargons can be processed multiple time with different semantics of each of the plurality of jargons to produce a plurality of different products.
-
-
16. A method for representing a domain model in a plurality of jargon application-oriented languages and processing the domain model, comprising:
-
making a plurality of jargons;
defining a semantics of each of the plurality of jargons;
representing a first domain model by writing a document in at least some of the plurality of the jargons; and
processing the first domain model with the base interpreter customized with a semantics of each of at least some of the plurality of jargons.
-
Specification