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) |
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
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.