Support for Modular Parsing in Software Reengineering

  • Authors:
  • Ian Peake;Eric Salzman

  • Affiliations:
  • -;-

  • Venue:
  • STEP '97 Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97) (including CASE '97)
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. Generation time for extensions is linear in the size of the extension. Run time performance is potentially as bad as for general parsing algorithms but can be linear (10 times slower than LALR for Modula-2) after optimization.