LR error repair using the A* algorithm

This article presents a local LR error repair method that repairs syntax errors quickly by adoption of the A* algorithm that helps remove unproductive configurations. The new method also enhances the repair quality by adoption of a flexible edit strategy to support shifting symbols unrestrictedly, as well as inserting and deleting symbols, in order to repair invalid input strings. Experimental results show that the new method excels existing works in repair quality and efficiency.

[1]  José Antonio Pérez,et al.  Repairing syntax errors in LR parsers , 2002, TOPL.

[2]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

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

[4]  Michael J. Fischer,et al.  The String-to-String Correction Problem , 1974, JACM.

[5]  E. Bertsch An observation on suffix redundancy in LL(1) error repair , 1996, Acta Informatica.

[6]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[7]  Patrick Henry Winston,et al.  Artificial intelligence (3rd ed.) , 1992 .

[8]  Charles N. Fischer,et al.  A forward move algorithm for LL and LR parsers , 1982, SIGPLAN '82.

[9]  Charles N. Fischer,et al.  A simple, fast, and effective LL(1) error repair algorithm , 1992, Acta Informatica.

[10]  Bruce J. McKenzie,et al.  Error repair in shift-reduce parsers , 1995, TOPL.

[11]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[12]  Julia Anne Dain A Practical Minimum Distance Method for Syntax Error Handling , 1994, Comput. Lang..

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

[14]  Charles N. Fischer,et al.  Efficient LL(1) error correction and recovery using only insertions , 1980, Acta Informatica.

[15]  Dennis M. Ritchie,et al.  The C programming language - ANSI C - Second edition , 1988 .

[16]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[17]  Kwang-Moo Choe,et al.  Error repair with validation in LR-based parsing , 2001, TOPL.

[18]  NederhofMark-Jan,et al.  On failure of the pruning technique in Error repair in shift-reduce parsers , 1999 .

[19]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[20]  Mark-Jan Nederhof,et al.  On failure of the pruning technique in “Error repair in shift-reduce parsers” , 1999, TOPL.

[21]  Bernard Andre Dion Locally least-cost error correctors for context-free and context sensitive parsers , 1982 .

[22]  RaphaelBertram,et al.  Correction to "A Formal Basis for the Heuristic Determination of Minimum Cost Paths" , 1972 .

[23]  Eljas Soisalon-Soininen,et al.  LR(k) and LL(k) parsing , 1990 .

[24]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[25]  C. Cerecke Repairing Syntax Errors in LR-based Parsers , 2002, ACSC.