Usage Patterns
There are several usage patterns for domain-specific languages:
- processing with standalone tools, invoked via direct user operation, often on the command line or from a Makefile (e.g., the GraphViz tool set)
- domain-specific languages which are implemented using programming language macro systems, and which are converted or expanded into a host general purpose language at compile-time or read-time
- embedded (or internal) domain-specific languages, implemented as libraries which exploit the syntax of their host general purpose language or a subset thereof, while adding domain-specific language elements (data types, routines, methods, macros etc.).
- domain-specific languages which are called (at runtime) from programs written in general purpose languages like C or Perl, to perform a specific function, often returning the results of operation to the "host" programming language for further processing; generally, an interpreter or virtual machine for the domain-specific language is embedded into the host application
- domain-specific languages which are embedded into user applications (e.g., macro languages within spreadsheets) and which are (1) used to execute code that is written by users of the application, (2) dynamically generated by the application, or (3) both.
Many domain-specific languages can be used in more than one way.
Read more about this topic: Domain-specific Language, Domain-specific Language Topics
Famous quotes containing the words usage and/or patterns:
“Pythagoras, Locke, Socratesbut pages
Might be filled up, as vainly as before,
With the sad usage of all sorts of sages,
Who in his life-time, each was deemed a bore!
The loftiest minds outrun their tardy ages.”
—George Gordon Noel Byron (17881824)
“Ive begun to appreciate the generational patterns that ripple out from our lives like stones dropped in water, pulsing outward even after we are gone. Although we have but one childhood, we relive it first through our childrens and then our grandchildrens eyes.”
—Anne Cassidy (20th century)