IEEE Transactions on Software Engineering vol:18 issue:5 pages:357-367
Most of the parser (transducer) writing systems found in the literature concern the mechanical production of batch parsers (transducers). The generation scheme discussed in this paper produces interactive transducers in the form of Ada programs, with an underlying parser that is of type ELL(1). The emphasis here is on error recovery in interactive parsers. A generation scheme is proposed containing powerful error-recovery generation capabilities. Also, the interaction between syntactic and semantic error recovery is briefly discussed. The generation scheme has been implemented as part of the MIRA transducer writing system. With MIRA, a number of industrial case studies have been worked out from which considerable feedback has been obtained to test and improve the adopted error-recovery strategy. One of the case studies worked out with MIRA consists of the design and implementation of an interactive software package called ABACUS. A subset called MINI-ABACUS is used as an illustration of the error-recovery principles discussed throughout this paper.