Affiliation:
1. University of Minnesota, USA
Abstract
This paper describes an extensible language framework, ableC, that allows programmers to import new, domain-specific, independently-developed language features into their programming language, in this case C. Most importantly, this framework ensures that the language extensions will automatically compose to form a working translator that does not terminate abnormally. This is possible due to two modular analyses that extension developers can apply to their language extension to check its composability. Specifically, these ensure that the composed concrete syntax specification is non-ambiguous and the composed attribute grammar specifying the semantics is well-defined. This assurance and the expressiveness of the supported extensions is a distinguishing characteristic of the approach.
The paper describes a number of techniques for specifying a host language, in this case C at the C11 standard, to make it more amenable to language extension. These include techniques that make additional extensions pass these modular analyses, refactorings of the host language to support a wider range of extensions, and the addition of semantic extension points to support, for example, operator overloading and non-local code transformations.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference60 articles.
1. A.V. Aho R. Sethi and J.D. Ullman. 1986. Compilers – Principles Techniques and Tools. Addison-Wesley Reading MA. A.V. Aho R. Sethi and J.D. Ullman. 1986. Compilers – Principles Techniques and Tools. Addison-Wesley Reading MA.
2. Tom: Piggybacking Rewriting on Java
3. Remote attribute grammars
4. Concrete syntax for objects
5. Type qualifiers as composable language extensions
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献