error recovery

Dave Jones djones at megatest.UUCP
Sat Apr 29 11:21:47 AEST 1989


>From article <510 at lakart.UUCP>, by dg at lakart.UUCP (David Goodenough):
> djones at megatest.UUCP (Dave Jones) sez:
>> Why? For one thing, error-recovery in a recursive descent parser is even
>> trickier than in an LR parser!
> 
> The hell it is!!!
> 

Watch your language. (And lower your voice.)  There's programmers in
the audience.  Some of us are trying to sleep.

> I suggest you dig out the source of the PDP 11, V6 UNIX C compiler. Written
> in C, without YACC, uses recursive descent, and does error recovery so
> gracefully, and correctly, it is a pleasure to use.

I'd love to. Where can I dig it out?

> It requires one longjmp call to recover,

Ahah!  See previous posting.

> but with the exception of a for loop (which could generate
> a spurious error about imbalanced parentheses, due to overloading the ';'
> operator) it never made a mistake. Would that pcc, the GreenHills family
> etc. could do the same.

True. I would prefer that these two just stop on the first error.
That's the only message I ever read, anyway.  (The subject of
error-recovery, as applied to compilers, is becoming increasingly moot.
It was important when it took a day or more to get a listing back from
the sysop, but now that you can retry a compilation in a matter of a few
seconds, it's mostly accademic.)
 
> I'd suggest that all these guys talk to Leor Zohlman, the writer of
> BDS-C. I suspect that he uses RD, whatever the case I rate his error
> recovery way above _ANYTHING_ I have come across in UNIX since the V6
> days. Are you listening guys????

Attentively.

I would also be interested in people's opinions on the best parser
generator utilities, both LL and LR.


Should we move this party over to comp.compilers?

>
> 	dg at lakart.UUCP - David Goodenough		+---+
>

Love that name!




		Yours truly,
		Dave "Highly Adequate" Jones.



More information about the Comp.lang.c mailing list