Related articles |
---|
Language used to write compilers joe_hesse@actcx.com (Joe H.) (2004-12-29) |
Re: Language used to write compilers nmm1@cus.cam.ac.uk (2004-12-30) |
Re: error reporting, was Language used to write compilers cfc@shell01.TheWorld.com (Chris F Clark) (2004-12-31) |
Re: error reporting, was Language used to write compilers lkrupp@pssw.NOSPAM.com.INVALID (Louis Krupp) (2005-01-09) |
Re: error reporting, was Language used to write compilers cfc@shell01.TheWorld.com (Chris F Clark) (2005-01-14) |
From: | Chris F Clark <cfc@shell01.TheWorld.com> |
Newsgroups: | comp.compilers |
Date: | 14 Jan 2005 00:43:21 -0500 |
Organization: | The World Public Access UNIX, Brookline, MA |
References: | 04-12-148 04-12-158 04-12-179 05-01-022 |
Keywords: | errors |
Posted-Date: | 14 Jan 2005 00:43:21 EST |
Yes, the gcc example is exactly what I was thinking of (and I think
gcc is the compiler which motivated my own thoughts along that line).
there are several examples where gcc tell you that x conflicts with y,
pointing where both location are.
The gcc compiler solution is to use two back-to-back error messages.
We use the same technique in the Verilog compiler I mentioned before.
For some errors like cycles of gates withot a state element, the list
of related errors can get arbitrarily long. Not necessarily the best
solution, although better than not having the information.
We also have a built-in debugger of the compiler's internal database
that developers can inspect and traverse to track down hard to
diagnose errors. However, that's hardly a good general solution.
Still, some kind of sanitized debugger of the compiler's information
would often be a better solution to finding certain problems.
Hope this helps,
-Chris
*****************************************************************************
Chris Clark Internet : compres@world.std.com
Compiler Resources, Inc. Web Site : http://world.std.com/~compres
23 Bailey Rd voice : (508) 435-5016
Berlin, MA 01503 USA fax : (978) 838-0263 (24 hours)
------------------------------------------------------------------------------
Return to the
comp.compilers page.
Search the
comp.compilers archives again.