Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Abstract syntax from concrete syntax
ICSE '97 Proceedings of the 19th international conference on Software engineering
Pattern hatching: design patterns applied
Pattern hatching: design patterns applied
Challenges of refactoring C programs
Proceedings of the International Workshop on Principles of Software Evolution
Generalized L.R. Parsing
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
Introduction to Algorithms
An Empirical Analysis of C Preprocessor Use
IEEE Transactions on Software Engineering
Stratego: A Language for Program Transformation Based on Rewriting Strategies
RTA '01 Proceedings of the 12th International Conference on Rewriting Techniques and Applications
The ASF+SDF Meta-environment: A Component-Based Language Development Environment
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Scaffolding for Software Renovation
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Formalizing refactorings with graph transformations: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
ASTEC: a new approach to refactoring C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Program refactoring in the presence of preprocessor directives
Program refactoring in the presence of preprocessor directives
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
The Definitive ANTLR Reference: Building Domain-Specific Languages
The Definitive ANTLR Reference: Building Domain-Specific Languages
The Zephyr abstract syntax description language
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Automated co-evolution of GMF editor models
SLE'10 Proceedings of the Third international conference on Software language engineering
Automated refactorings for high performance Fortran programmes
International Journal of High Performance Systems Architecture
OpenRefactory/C: an infrastructure for developing program transformations for C programs
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Hi-index | 0.00 |
Building a production-quality refactoring engine or similar source code transformation tool traditionally requires a large amount of hand-written, language-specific support code. We describe a system which reduces this overhead by allowing both a parser and a fully rewritable AST to be generated automatically from an annotated grammar, requiring little or no additional hand-written code. The rewritable AST is ideal for implementing program transformations that preserve the formatting of the original sources, including spacing and comments, and the system can be augmented to allow transformation of C-preprocessed sources even when the target language is not C or C++. Moreover, the AST design is fully customizable, allowing it to resemble a hand-coded tree. The amount of required annotation is typically quite small, and the annotated grammar is often an order of magnitude smaller than the generated code.