Grammar-oriented programming
   HOME

TheInfoList



OR:

{{Programming paradigms Grammar-oriented programming (GOP) and Grammar-oriented Object Design (GOOD) are good for designing and creating a
domain-specific programming language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging f ...
(DSL) for a specific business domain. GOOD can be used to drive the execution of the application or it can be used to embed the declarative processing logic of a context-aware component (CAC) or context-aware service (CAS). GOOD is a method for creating and maintaining dynamically reconfigurable
software architecture Software architecture is the fundamental structure of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. ...
s driven by business-process architectures. The business compiler was used to capture business processes within real-time workshops for various lines of business and create an executable simulation of the processes used. Instead of using one DSL for the entire programming activity, GOOD suggests the combination of defining domain-specific behavioral semantics in conjunction with the use of more traditional, general purpose programming languages.


See also

*
Adaptive grammar An adaptive grammar is a formal grammar that explicitly provides mechanisms within the formalism to allow its own production rules to be manipulated. Overview John N. Shutt defines adaptive grammar as a grammatical formalism that allows rule set ...
* Definite clause grammar *
Extensible programming Extensible programming is a term used in computer science to describe a style of computer programming that focuses on mechanisms to extend the programming language, compiler and runtime environment. Extensible programming languages, supporting this ...
*
Language-oriented programming Language-oriented programming (LOP) is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components, and rather than solving problems in general-purpose programming languages, ...
* Dialecting *
Transformation language A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal. Program transformation systems such as Stratego/XT, TXL, Tom, DMS, ...


External links


Manners Externalize Semantics for On-demand Composition of Context-aware Services

"Empowering the Business Analyst for On-demand Computing"
for an example of using GOOD. Domain-specific programming languages