Grammar Adaptation

We employ transformations for the adaptation of grammars. Grammars need to be adapted in grammar development, grammar maintenance, grammar reengineering, and grammar recovery. Starting from a few fundamental transformation primitives and combinators, we derive an operator suite for grammar adaptation. Three groups of operators are identified, namely operators for refactoring, construction and destruction. While refactoring is semantics-preserving in the narrow sense, transformations for construction and destruction require the consideration of relaxed notions of semantics preservation based on other grammar relations than equality of generated languages. The consideration of semantics and accompanying preservation properties is slightly complicated by the fact that we cannot insist on reduced grammars.

[1]  Janos J. Sarbo Grammar Transformations for Optimizing Backtrack Parsers , 1994, Comput. Lang..

[2]  Robert D. Cameron Extending context-free grammars with permutation phrases , 1993, LOPL.

[3]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[4]  Chris Verhoef,et al.  Development, assessment, and reengineering of language descriptions , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[5]  Alberto Pettorossi,et al.  Rules and strategies for transforming functional and logic programs , 1996, CSUR.

[6]  R. Nigel Horspool,et al.  Faster Generalized LR Parsing , 1999, CC.

[7]  Stefan Jähnichen Compiler construction : 8th international conference, CC '99, held as part of the Joint European Conferences on Theory and Practice of Software, ETAPS'99, Amsterdam, The Netherlands, March 22-28, 1999 : proceedings , 1999 .

[8]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[9]  David S. Wile,et al.  Abstract Syntax from Concrete Syntax , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[10]  Chris Verhoef,et al.  Generation of components for software renovation factories from context-free grammars , 2000, Sci. Comput. Program..

[11]  Ralf Lämmel,et al.  Semi‐automatic grammar recovery , 2001, Softw. Pract. Exp..

[12]  Merijn de Jonge,et al.  Grammars as contracts , 2001 .

[13]  Helmuth Partsch,et al.  Specification and Transformation of Programs - A Formal Approach to Software Development , 1990, Texts and Monographs in Computer Science.

[14]  Helmut A. Partsch,et al.  Specification and transformation of programs , 1990 .