Related articles |
---|
Semantic error recovery whatis@gni.ai.mit.edu (1993-11-02) |
Re: Semantic error recovery isckbk@leonis.nus.sg (1993-11-10) |
Re: Semantic error recovery mauney@adm.csc.ncsu.edu (1993-11-10) |
Re: Semantic error recovery wjw@eb.ele.tue.nl (1993-11-11) |
Re: Semantic error recovery sasghm@unx.sas.com (1993-11-11) |
Re: Semantic error recovery strohm@mksol.dseg.ti.com (1993-11-12) |
Re: Semantic error recovery olsen@verdix.com (1993-11-12) |
Re: Semantic error recovery enedervo@adobe.com (1993-11-12) |
Re: Semantic error recovery kanze@us-es.sel.de (James Kanze) (1993-11-15) |
Re: Semantic error recovery kanze@us-es.sel.de (James Kanze) (1993-11-15) |
[8 later articles] |
Newsgroups: | comp.compilers |
From: | wjw@eb.ele.tue.nl (Willem Jan Withagen) |
Keywords: | errors, Pascal |
Organization: | Digital Information Systems Group, Eindhoven U. of Technology |
References: | 93-11-023 93-11-061 |
Date: | Thu, 11 Nov 1993 11:41:31 GMT |
Steve Boswell (whatis@gni.ai.mit.edu) wrote:
: Are there compilers that recover from semantic errors without a cascade of
: meaningless error messages? How do they do it?
isckbk@leonis.nus.sg (Kiong Beng Kee) writes:
>A Model Implementation of Standard Pascal (Welsh) describes a scheme of
>using dummy values in place of undeclared identifiers ..etc so that
>such errors are merely reported once.
This fixes the repeated 'undeclared identifier' error, but what about an
undeclared function/procedure. You'll get tons fo mismatched parameter
errors. (At least my current PASCAL frontend would really give you a few
pages :-))
I tried fixing that by substituting an omni-compatible parameter-list in
place of the missing list. Parameter type checking is aware of the
problem, and refrains from giving useless error messages.
Problem is that this method works like the 'error' construct in YACC. You
have to 'invent' all kinds of problems, and then fix them ad-hoc. And I'm
not all that inventive that all redundant info is skipped.
Another strategy I've been considering is to prioritize the errors into
several classes. Now an 'undeclared identifier' whould be considered a
rather hefty bug in the source, and as such all errors of lower priority
are not shown to the user. (either on file, routine or statement scope)
This gives the possibility for the user (if he wishes) to crank up the
alarm level, and still get all messages.
Willem Jan.
--
Digital Information Systems Group, Tel: +31-40-473401, Fax: +31-40-448375
Room EH 10.35 Eindhoven University of Technology
P.O. 513, 5600 MB Eindhoven, The Netherlands
Internet:wjw@eb.ele.tue.nl,
X400:C=nl;A=400net;P=surf;O=tue;OU=ele;OU=eb;S=WJW;
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.