Wouter van Ooijen wrote: >> C30 is like this as well. It knows there is a syntax error in that it >> has reached something without finding a closing bracket, why does it >> need to use a catch-all error message??? > > - because the C syntax is so 'dense' that in most cases there is more > than one possible correct continuation (and probably at more than one > point in the line) > - because in the presence of macro's it makes no sense to indicate the > position in the line which caused the error > - because of the above most C parser (scanner/tokenizer/lexer) are > bottom-up parsers, optimized for speed, not for accurate error reporting > - most C compilers seem to think it is more important to continue > compiling in order to report more errors than to report errors accurately FWIW, the error messages of the C++ compilers I generally work with point right to the problematic line (or the following line). And when not, the message is specific enough to easily find the line. VC++ for example also can be configured to break on first error. After writing a few days' worth of code and recompiling, I generally get a few syntax errors. These are pretty much really quick fixes; not much thinking involved, due to the good locality and appropriate content of the messages. Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist