Re: recursive-descent error recovery

harvard!seismo!cs.rochester.edu!scott (Michael Scott)
16 Aug 87 16:37:29 GMT

          From comp.compilers

Related articles
recursive-descent error recovery decvax!utzoo!henry (1987-08-13)
Re: recursive-descent error recovery chuck@amdahl.amdahl.com (1987-08-15)
Re: recursive-descent error recovery decvax!utzoo!henry (1987-08-17)
Re: recursive-descent error recovery harvard!seismo!cs.rochester.edu!scott (1987-08-16)
recursive-descent error recovery cullvax!drw@EDDIE.MIT.EDU (1987-08-17)
Re: recursive-descent error recovery decvax!utzoo!henry (1987-08-22)
| List of all articles for this month |
From: scott@cs.rochester.edu (Michael Scott)
Newsgroups: comp.compilers
Date: 16 Aug 87 16:37:29 GMT
References: <634@ima.ISC.COM> <642@ima.ISC.COM> <651@ima.ISC.COM> <655@ima.ISC.COM>
From: harvard!seismo!cs.rochester.edu!scott (Michael Scott)
Organization: U of Rochester, CS Dept, Rochester, NY



In article <655@ima.ISC.COM> chuck@amdahl.amdahl.com (Charles Simmons) writes:
| I claim it is impossible to write a reasonable compiler
| using YACC. I base this claim on the fact that ... it is
| impossible to produce reasonable error messages using YACC.


Well, it's certainly difficult, but that's not because YACC is a
bottom-up parser. It's because you're trying to do the error recovery
by hand. Bernard Dion's thesis work at Wisconsin (with Charlie
Fischer) demonstrated how to perform locally least-cost *automatic*
error *correction* in bottom-up parsers, with modest space and
negligible time overhead. [Compiler writer gives the parser generator
a table of insertion and deletion costs for tokens; error corrector
makes the least cost set of insertions and deletions that allows one
more real token to be shifted.] Good quality corrections make pretty
good error messages. Dion's techniques are incorporated in the ECP
(error correcting parser) package distributed by Fischer's group.
--
Michael L. Scott
University of Rochester (716) 275-7745
scott@cs.rochester.edu scott%rochester@CSNET-RELAY
{decvax, allegra, seismo, cmcl2}!rochester!scott


--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.