Producing a top-down parse order with bottom-up parsing
Information Processing Letters
Abstract syntax from concrete syntax
ICSE '97 Proceedings of the 19th international conference on Software engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
A syntax directed compiler for ALGOL 60
Communications of the ACM
Compiler Construction: Principles and Practice
Compiler Construction: Principles and Practice
Semi-automatic grammar recovery
Software—Practice & Experience
Introduction to Attributed Grammars
Proceedings on Attribute Grammars, Applications and Systems
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
Towards Automatical Migration of Transformation Rules after Grammar Extension
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Automated Software Engineering
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
An Introduction to Grammar Convergence
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated co-evolution of GMF editor models
SLE'10 Proceedings of the Third international conference on Software language engineering
Mappings make data processing go 'round
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Functional semantics of parsing actions, and left recursion elimination as continuation passing
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
Several tools for source-to-source transformation are based on top down parsers. This restricts the user to use grammars without left recursion. Removing left recursion of a given grammar often makes it unreadable, preventing a user from concentrating on the original grammar. Additionally, the question arises, whether the tool implements the semantics of the original language, if it is implemented based on a different grammar than in the original language definition. Moreover, existing implementations of semantics for the original grammar cannot be reused directly. The paper contributes to the field of automatic migration of software (here semantic rules) induced by a grammar change. It revises removal of left recursion in the context of grammar adaptations and demonstrates, that while removing left recursion at the same time the semantic rules can be migrated automatically. Thus, a programmer can continue to use semantic rules on a left recursive grammar. The problem is explained and justified.