This Article 
 Bibliographic References 
 Add to: 
Generation of Interactive Parsers with Error Handling
May 1992 (vol. 18 no. 5)
pp. 357-367

The generation scheme discussed, produces interactive transducers in the form of Ada programs, with an underlying parser that is of type ELL(1). The emphasis is on error recovery in interactive parsers. A generation scheme is proposed containing powerful error-recovery generation capabilities. The interaction between syntactic and semantic error recovery is also 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 work.

[1] Reference Manual for the Ada Programming Language, Proposed standard document, U.S. Dept. Defense, 1980.
[2] A. V. Aho and J. D. Ullman,The Theory of Parsing, Translation, and Compiling, Vol. 1: Parsing. Englewood Cliffs, NJ: Prentice-Hall, 1972.
[3] A. V. Aho and J. D. Ullman,The Theory of Parsing, Translation and Computing, Vol. II: Computing. Englewood Cliffs, NJ: Prentice-Hall, 1973.
[4] A. V. Aho and J. D. Ullman,Principles of Compiler Design. Reading, MA: Addison-Wesley, 1977.
[5] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[6] J. Archer, R. Conway, and F. Schneider, "User recovery and reversal in interactive systems,"ACM Trans. Program. Languages Syst., vol. 6, no. 1, pp. 1-19, 1984.
[7] R. Bahkle and G. Snelting, "The PSG system: From formal language definitions to interactive programming environment,"ACM Trans. Program. Lang. Syst., vol. 8, pp. 547-576, Oct. 1986.
[8] R. Ballance, J. Butcher, and S. Graham, "Grammatical abstraction and incremental syntax analysis in a language-based editor," inProc. SIGPLAN'88 Conf. on Program. Language Design and Implementation(Atlanta, GA), June 1988, pp. 185-198.
[9] P. Brown,Writing Interactive Compilers and Interpreters. New York: Wiley-Interscience, 1980.
[10] B. Courcelle, "Attribute grammars: definitions, analysis of dependencies, proof methods," inMethods and Tools for Compiler Construction, B. Lorho, Ed. Cambridge, UK: Cambridge Univ. Press, 1984, pp. 81-102 (INRIA-CEC course).
[11] P. Degano, S. Mannucci, and B. Mojana, "Efficient incremental LR parsing for syntax-directed editors,"ACM Trans. Program. Languages Syst., vol. 10, no. 3, pp. 345-373, 1988.
[12] P. Deransart, M. Jourdan, and B. Lorho,A Survey on Attribute Grammars--Part I: Main Results on Attribute Grammars; Part II: Review of Existing Systems; Part III: Classified Bibliography, in Rapports de Recherche. INRIA, 1985.
[13] C. Fisher, K. Tai, and D. Milton, "Immediate error detection in strong LL(1) parsers,"Inform. Process. Lett., vol. 8, no. 5, pp. 261-266, 1979.
[14] T. Hardy, "The syntax of interactive command languages: a framework for design,"Software Prac. Exper., vol. 12, no. 1, pp. 67-76, 1982.
[15] R. Heckmann, "An efficient ELL(1)-parser generator,"Acta Informatica, vol. 23, no. 2, pp. 127-148, 1986.
[16] F. Jalili and J. Gallier, "Building friendly parsers," inProc. Conf. Record 9th ACM Symp. on Principles of Program. Languages(Albuquerque, NM), Jan 1982, pp. 196-206.
[17] P. Kaiser and I. Stetina, "A dialogue generator,"Software Prac. Exper., vol. 12, no. 8, pp. 693-708, 1982.
[18] J. Lewi, K. De Vlaminck, J. Huens, and M. Huybrechts, "Project LILA--the ELL(1) generator of LILA, an introduction," inProc. Int. Comput. Symp. 1977. Amsterdam: North-Holland, 1977, pp. 237-251.
[19] J. Lewi, K. De Vlaminck, J. Huens, M. Huybrechts, and E. Steegmans, AProgramming Methodology in Compiler Construction-Part 1: Concepts, Part 2: Implementation. Amsterdam: North-Holland, 1979&1982.
[20] J. Lewi, K. De Vlaminck, E. Steegmans, and I. Van Horebeek,Software Development by LL(1) Syntax Description. New York: Wiley, 1992.
[21] B. Meyers,Object Oriented Software Construction. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[22] M. Michelson and M. Wegman, "PDE1L: the PL1L program development environment: principles of operation," IBM T. J. Watson Res. Ctr., Yorktown Heights, NY, Rep. RC8513, 1980.
[23] Mira,User's Manual, Expert Software Systems (E2S), Ghent, Belgium, 1988.
[24] B. Negus, J. Hunt, and J. Prentice, "DIALOG: a scheme for the quick and effective production of interactive applications software,"Software Prac. Exper., vol. 11, no. 3, pp. 205-224, 1981.
[25] R. Piessens, J. Lewi, E. Steegmans, T. Grootaers, and G. Engelen, "ABACUS: a powerful tool in a mathematical science laboratory,"Int. J. Math. Ed. in Sci. and Techn., 1986.
[26] K.-J. Raiha, "Bibliography on attribute grammars,"SIGPLAN Notices, vol. 15, no. 3, pp. 35-44, 1980.
[27] E. Steegmans, I. Van Horebeek, and J. Lewi, "Error recovery in interactive parsers," Dept. Comput. Sci., K.U. Leuven, Rep. CW72, 1988.
[28] E. Steegmans, J. Lewi, R. Piessens, and T. Grootaers, "A syntax-directed approach to the design of interactive systems," Dept. Comput. Sci., K.U. Leuven, Rep. CW74, 1988.
[29] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A syntax directed programming environment,"Commun. ACM, vol. 24, no. 9, pp. 563-573, Sept. 1981.
[30] T. Wilcox, A. Davis, and M. Tindall, "The design and implementation of a table driven, interactive diagnostic programming system,"Commun. ACM, vol. 19, no. 11, pp. 609-616, 1976.

Index Terms:
ELL 1; interactive parsers; interactive transducers; Ada programs; underlying parser; generation scheme; error-recovery generation capabilities; semantic error recovery; MIRA transducer writing system; industrial case studies; adopted error-recovery strategy; interactive software package; MINI-ABACUS; error-recovery principles; Ada; grammars; interactive systems; program compilers; system recovery
E. Steegmans, J. Lewi, I. van Horebeek, "Generation of Interactive Parsers with Error Handling," IEEE Transactions on Software Engineering, vol. 18, no. 5, pp. 357-367, May 1992, doi:10.1109/32.135769
Usage of this product signifies your acceptance of the Terms of Use.