Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. Aycock and N. Horspool. Faster Generalized LR Parsing. In S. Jähnichen, editor, Proc. of the 8th International Conference on Compiler Construction (CC’99), volume 1575 of LNCS, pages 32–46. Springer-Verlag, 1999.
D. Blasband. Automatic Analysis of Ancient Languages. PhD thesis, Free University of Brussels, 2000.
M. Brand, M. Sellink, and C. Verhoef. Generation of components for software renovation factories from context-free grammars. Science of Computer Programming, 36(2-3):209–266, 2000.
R. D. Cameron. Extending context-free grammars with permutation phrases. ACM Letters on Programming Languages and Systems, 2(4):85–94, Mar. 1993.
E. Chikofsky and J. Cross. Reverse engineering and design recovery: A taxonomy. IEEE Software, 7(1):13–17, 1990.
M. de Jonge and J. Visser. Grammars as Contracts. In Proc. of GCSE 2000, LNCS, Erfurt, Germany, 2001. Springer-Verlag. to appear.
IBM Corporation.VS COBOL II Application Programming Language Reference, 1993. Release 4, Document number GC26-4047-07.
R. Lämmel and C. Verhoef. VS COBOL II Grammar Version 1.0.3. http://www.cwi.nl/~ralf/grammars, 1999-2001.
R. Lämmel and C. Verhoef. Semi-automatic Grammar Recovery. Submitted, available at http://www.cwi.nl/~ralf/, July 2000.
W. F. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, 1992.
H. A. Partsch. Specification and Transformation of Programs. Springer-Verlag, 1990.
A. Pettorossi and M. Proietti. Rules and Strategies for Transforming Functional and Logic Programs. ACM Computing Surveys, 28(2):360–414, June 1996.
J. J. Sarbo. Grammar transformations for optimizing backtrack parsers. Computer Languages, 20(2):89–100, May 1994.
M. Sellink and C. Verhoef. Development, assessment, and reengineering of language descriptions. In J. Ebert and C. Verhoef, editors, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering, pages 151–160. IEEE Computer Society, March 2000.
D. S. Wile. Abstract syntax from concrete syntax. In Proc. of the 1997 International Conference on Software Engineering, pages 472–480. ACM Press, 1997.
D. S. Wile. Integrating Syntaxes and their Associated Semantics. Draft, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lämmel, R. (2001). Grammar Adaptation. In: Oliveira, J.N., Zave, P. (eds) FME 2001: Formal Methods for Increasing Software Productivity. FME 2001. Lecture Notes in Computer Science, vol 2021. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45251-6_32
Download citation
DOI: https://doi.org/10.1007/3-540-45251-6_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41791-0
Online ISBN: 978-3-540-45251-5
eBook Packages: Springer Book Archive