An LR substring parser for noncorrecting syntax error recovery

For a context-free grammar <italic>G</italic>, a construction is given to produce an LR parser that recognizes any substring of the language generated by <italic>G</italic>. The construction yields a conflict-free (deterministic) parser for the <italic>bounded context</italic> class of grammars (Floyd, 1964). The same construction yields either a left-to-right or right-to-left substring parser, as required to implement <italic>Non-correcting Syntax Error Recovery</italic> as proposed by Richter (1985). Experience in constructing a substring parser for Pascal is described.

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

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

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

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

[5]  Jay Earley,et al.  An efficient context-free parsing algorithm , 1970, Commun. ACM.

[6]  Robert W. Floyd,et al.  Bounded context syntactic analysis , 1964, CACM.

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

[8]  Victor J. Rayward-Smith,et al.  A Survey on Syntactic Error Recovery and Repair , 1984, Comput. Lang..

[9]  Robert M. Graham Bounded context translation , 1964, AFIPS '64 (Spring).

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