|
From: | Derek M Jones |
Subject: | Re: Google summer of code |
Date: | Tue, 09 May 2006 16:36:56 +0100 |
User-agent: | Thunderbird 1.5 (Windows/20051201) |
Akim,
The main requirement is to resync so that cascading syntax errors are avoided. One compiler I worked on did multiple parses, using different combinations of error recovery, looking for the one that parsed the largest amount of input (up to some limit) without generating any other syntax errors.What was the underlying technology of the parsers? I guess it was LL, right? Were they written by hand?
It was yacc running under Unix version 7 on a PDP-11 cross compiled to a mainframe. Our users only got a few goes at compiling their code everyday (it was a mainframe batch environment) and it was very important that the compiler did its best to generate them some kind of executable so at least they might be able to try out some parts of the code. All the best error recovery I have every seen occurs in compilers running on mainframes. Not because the cost of renting the software was an arm and a leg, but because the users got to have so few goes at compiling in a day. -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd mailto:address@hidden Applications Standards Conformance Testing http://www.knosof.co.uk
[Prev in Thread] | Current Thread | [Next in Thread] |