ACM Home Page
Please provide us with feedback. Feedback
Extracting a domain specific language from an example: a bottom-up method using the ngrease metalanguage
Full text PdfPdf (252 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion table of contents
Montreal, Quebec, Canada
DEMONSTRATION SESSION: Demonstrations table of contents
Pages: 850 - 851  
Year of Publication: 2007
ISBN:978-1-59593-865-7
Author
Ville T Oikarinen  Sysart Oy, Oulu, Finland
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 37,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1297846.1297921
What is a DOI?

ABSTRACT

This demonstration shows a lightweight and fast method for creating a tested and working domain specific language. The method is demonstrated using the ngrease metalanguage.

The creation of a new language is started by writing a representative example of the final product with a test that tests the transformation from a stub source to the result.

The test is made to pass by writing a constant transformer that unconditionally outputs the result.

At each step the language is extended by refactoring: Some part of the transformer template is converted from a constant subtree to a reference to data read from the source tree, thus driving additions to the new language.

Optionally, each refactoring step can be driven by a new test that demonstrates the lack of parameterization of some part of the final product.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2