Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
TXL: a rapid prototyping system for programming language dialects
Computer Languages
JavaML: a markup language for Java source code
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semi-automatic grammar recovery
Software—Practice & Experience
A comparative evaluation of techniques for syntactic level source code analysis
APSEC '00 Proceedings of the Seventh Asia-Pacific Software Engineering Conference
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
Generating Robust Parsers using Island Grammars
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Using Design Recovery Techniques to Transform Legacy Systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Software Change Through Design Maintenance
ICSM '97 Proceedings of the International Conference on Software Maintenance
Building Documentation Generators
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Source Code Files as Structured Documents
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Lightweight Impact Analysis using Island Grammars
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Generalized Selective XML Markup of Source Code Using Agile Parsing
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Current Parsing Techniques in Software Renovation Considered Harmful
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
An Architecture for Automated Software Maintenance
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Processing Software Source Text in Automated Design Recovery and Transformation
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
HSML: Design Directed Source Code Hot Spots
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Formalization of information hiding design methods
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
Practical language-independent detection of near-miss clones
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Source transformation, analysis and generation in TXL
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
A backtracking LR algorithm for parsing ambiguous context-dependent languages
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
An Introduction to Grammar Convergence
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Recovering structured data types from a legacy data model with overlays
Information and Software Technology
TXL - A Language for Programming Language Tools and Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantics-preserving Migration of Semantic Rules During Left Recursion Removal in Attribute Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Migrating legacy data structures based on variable overlay to Java
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Linguistic security testing for text communication protocols
TAIC PART'10 Proceedings of the 5th international academic and industrial conference on Testing - practice and research techniques
The third rewrite engines competition
WRLA'10 Proceedings of the 8th international conference on Rewriting logic and its applications
Excerpts from the TXL cookbook
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Recovering grammar relationships for the Java Language Specification
Software Quality Control
Applying software analysis technology to lightweight semantic markup of document text
ICAPR'05 Proceedings of the Third international conference on Advances in Pattern Recognition - Volume Part I
Agile parsing to transform web applications
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
Syntactic analysis forms a foundation of many source analysis and reverse engineering tools. However, a single standard grammar is not always appropriate for all source analysis and manipulation tasks. Small custom modifications to the grammar can make the programs used to implement these tasks simpler, clearer and more efficient. This leads to a new paradigm for programming these tools: agile parsing. In agile parsing the effective grammar used by a particular tool is a combination of two parts: the standard base grammar for the input language, and a set of explicit grammar overrides that modify the parse to support the task at hand. This paper introduces the basic techniques of agile parsing in TXL and discusses several industry proven techniques for exploiting agile parsing in software source analysis and transformation.