Architectural modifications to deployed software
Science of Computer Programming
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Evaluating GLR parsing algorithms
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Software—Practice & Experience
Practical Scope Recovery Using Bridge Parsing
Software Language Engineering
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
The Grammar Tool Box: A Case Study Comparing GLR Parsing Algorithms
Electronic Notes in Theoretical Computer Science (ENTCS)
Recovering grammar relationships for the Java Language Specification
Software Quality Control
RISE'04 Proceedings of the First international conference on Rapid Integration of Software Engineering Techniques
System-specific static code analyses: a case study in the complex embedded systems domain
Software Quality Control
Natural and Flexible Error Recovery for Generated Modular Language Environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
A grammar-based approach to tool development in re- andreverse engineering promises precise structure awareness,but it is problematic in two respects. Firstly, it is a considerableup-front investment to obtain a grammar for a relevantlanguage or cocktail of languages. Existing work ongrammar recovery addresses this concern to some extent.Secondly, it is often not feasible to insist on a precise grammar,e.g., when different dialects need to be covered. Thiscalls for tolerant grammars.In this paper, we provide a well-engineered approach to thederivation of tolerant grammars, which is based on previouswork on error recovery, fuzzy parsing, and island grammars.The technology of this paper has been used in a complexCobol restructuring project on several millions of linesof code in different Cobol dialects.Our approach is founded on an approximation relation betweena tolerant grammar and a base-line grammar whichserves as a point of reference. Thereby, we avoid false positivesand false negatives when parsing constructs of interestin a tolerant mode. Our approach accomplishes the effectivederivation of a tolerant grammar from the syntacticalstructure that is relevant for a certain re- or reverse engineeringtool. To this end, the productions for the constructsof interest are reused from the base-line grammar togetherwith further productions that are needed for completion.