Comparison of syntactic error handling in LR parsers

Error recovery techniques for LR parsers presented in the literature are described and classified. The techniques considered range from the non‐correcting ones to interactive and incremental ones. Also, some of the techniques presented are compared and evaluated. An example showing the advantages and the disadvantages of each class of strategies is given and is used as a guideline for classifying syntax errors according to the recovery strategies which are more adequate to correct them.

[1]  Richard B. Kieburtz,et al.  Global Context Recovery: A New Strategy for Syntactic Error Recovery by Table-Drive Parsers , 1980, TOPL.

[2]  Niklaus Wirth,et al.  PL360, a Programming Language for the 360 Computers , 1968, JACM.

[3]  G. David Ripley,et al.  A Statistical Analysis of Syntax Errors , 1978, Comput. Lang..

[4]  Thomas R. Wilcox,et al.  Design and implementation of a diagnostic compiler for PL/I , 1973, CACM.

[5]  T G Muchnick,et al.  On some extensions of syntactic error recovery technique based on phrase markers , 1986, SIGP.

[6]  C. J. Burgess Compile-time error diagnostics in syntax-directed compilers , 1972, Comput. J..

[7]  Corrado Priami,et al.  Generating the analytic component parts of syntax-directed editors with efficient-error recovery , 1993, J. Syst. Softw..

[8]  Gordon Lyon,et al.  Syntax-directed least-errors analysis for context-free languages , 1974, Commun. ACM.

[9]  Kuo-Chung Tai,et al.  Syntactic Error Correction in Programming Languages , 1978, IEEE Trans. Software Eng..

[10]  Ronald Paul Leinius,et al.  Error detection and recovery for syntax directed compiler systems , 1970 .

[11]  Derek Partridge,et al.  Adaptive correction of program statements , 1973, Commun. ACM.

[12]  Charles B. Haley,et al.  Practical LR error recovery , 1979, SIGPLAN '79.

[13]  Frank DeRemer,et al.  A forward move algorithm for LR error recovery , 1978, POPL '78.

[14]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[15]  Johannes Röhrich,et al.  Methods for the automatic construction of error correcting parsers , 1980, Acta Informatica.

[16]  Thomas G. Peterson Syntax error detection, correction and recovery in parsers , 1972 .

[17]  Alan M. Davis,et al.  The design and implementation of a table driven, interactive diagnostic programming system , 1976, CACM.

[18]  Pierpaolo Degano,et al.  Efficient incremental LR parsing for syntax-directed editors , 1988, TOPL.

[19]  Charles N. Fischer,et al.  Determining the extent of lookahead in syntactic error repair , 1988, TOPL.

[20]  M. Dennis Mickunas,et al.  Automatic error recovery for LR parsers , 1978, CACM.

[21]  Mark Kahrs,et al.  Implementation of an Interactive Programming System , 1979, SIGPLAN '79.

[22]  Fred J. Damerau,et al.  A technique for computer detection and correction of spelling errors , 1964, CACM.

[23]  Michael G. Burke,et al.  A practical method for LR and LL syntactic error diagnosis and recovery , 1987, TOPL.

[24]  Alfred V. Aho,et al.  A Minimum Distance Error-Correcting Parser for Context-Free Languages , 1972, SIAM J. Comput..

[25]  George Poonen Error Recovery for LR(k) Parsers , 1977, IFIP Congress.

[26]  Philippe Charles An LR(k) Error Diagnosis and Recovery Method , 1991, IWPT.

[27]  Kuo-Chung Tai Predictors of Context-Free Grammars , 1980, SIAM J. Comput..

[28]  Susan L. Graham,et al.  Practical syntactic error recovery , 1975, CACM.

[29]  Helmut Richter Noncorrecting syntax error recovery , 1985, TOPL.

[30]  James J. Horning,et al.  What the Compiler Should Tell the User , 1976, Compiler Construction.

[31]  Aravind K. Joshi,et al.  Local constraints in the syntax and semantics of programming languages , 1978, POPL.

[32]  D. A. Turner Error Diagnosis and Recovery in One Pass Compilers , 1977, Inf. Process. Lett..

[33]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[34]  Alfred V. Aho,et al.  LR Parsing , 1974, ACM Comput. Surv..

[35]  Martin Jourdan,et al.  A New Error Repair and Recovery Scheme for Lexical and Syntactic Analysis , 1987, Sci. Comput. Program..

[36]  Stefan Feyock,et al.  Syntax‐directed correction of syntax errors , 1976, Softw. Pract. Exp..

[37]  G. David Ripley,et al.  Error recovery for Simple LR(k) parsers , 1976, ACM '76.

[38]  Howard Lee Morgan,et al.  Spelling correction in systems programs , 1970, Commun. ACM.

[39]  Paul G. Sorenson,et al.  The Theory And Practice of Compiler Writing , 1985 .

[40]  Eljas Soisalon-Soininen,et al.  Inessential Error Entries and Their Use in LR Parser Optimization , 1982, TOPL.

[41]  Ned Chapin,et al.  Full report of the Flowchart Committee on ANS Standard X3.5-1970 , 1979, SIGP.

[42]  David Gries Error Recovery and Correction - An Introduction to the Literature , 1976, Compiler Construction.

[43]  Eljas Soisalon-Soininen,et al.  A Syntax-Error-Handling Technique and Its Experimental Analysis , 1983, TOPL.

[44]  Robert A. Wagner,et al.  An Extension of the String-to-String Correction Problem , 1975, JACM.

[45]  Jacques E. LaFrance Optimization of error recovery in syntax-directed Parsing algorithms , 1970 .

[46]  Roland Carl Backhouse,et al.  Syntax of Programming Languages: Theory and Practice , 1979 .

[47]  R. C. Backhouse,et al.  Least-cost repair of syntax errors , 1979, SIGP.