AbstractA problem in supporting reusability of software libraries and frameworks is that the programming conventions which need to be followed are only informally described. Safer reuse would result if these conventions could be enforced, preferably at compile time. This paper presents a technique supporting such enforcement. The technique is based on attribute grammars and allows the construction of extensible compilers and checkers.
Categories and Subject Descriptors: D.1.5 [Programming Techniques]: Object-oriented Programming; D.2.2 [Software Engineering]: Tools and Techniques; D.3.4 [Programming Languages]: Processors
Additional Key Words and Phrases: domain-specific languages, extensible languages, reusability, class libraries, object-oriented frameworks, attribute grammars, extensible compilers.
Selected references
- Brian Foote and Ralph E. Johnson. Reflective facilities in Smalltalk-80. In Norman Meyrowitz, editor, Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA'89), pages 327-335, New Orleans, Louisiana, 1-6 October 1989. SIGPLAN Notices, 24(10), October 1989.
- Per Brinch Hansen. The programming language concurrent Pascal. IEEE Transactions on Software Engineering, 1(2):199-207, June 1975.
- Uwe Kastens. Ordered attributed grammars. Acta Informatica, 13:229-256, 1980.
- Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127-145, 1968.
- Brian Cantwell Smith. Reflection and semantics in Lisp. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 23-35, Salt Lake City, Utah, January 1984.