niels@ifad.dk (Niels S|e) (08/18/89)
We started this discussion about error reporting by asking how to achieve error messages that could indicate which terminal symbols that where expected in the current state. We are grateful for the fruitful discussion that has been raised from this question and we thank everybody who has given input to this discussion. We think that a conclusion on this discussion must be that an automatic generated LALR parser cannot be used for the kind of error messages we requested. The first problem is the default reductions which YACC makes. However, this problem can be solved as it has been illustrated during this discussion. The next more serious problem is that LALR parsers combine states containing identical sets of items. As we see it there is no way to solve this problem. We have currently implemented our parser with error reporting based on the input from Mr. Theo Omtzigt. We are aware of that this does not gives of 100 % correct error messages. However, we are interested in whether we can get another automatic LR parser generator where it is possible to give the requested kind of error messages. Does anybody know if such a generator is available (also commercial); please let us know. [From niels@ifad.dk (Niels S|e)] -- Send compilers articles to compilers@ima.isc.com or, perhaps, Levine@YALE.EDU { decvax | harvard | yale | bbn }!ima. Meta-mail to ima!compilers-request. Please send responses to the author of the message, not the poster.