On 27 July 2011 15:34, Edson Tirelli <ed.tirelli(a)gmail.com> wrote:
Just to explain how the parser recovers from errors, it tries to skip a
token that fail to match the construct being parsed. If that still fails, it
will skip all tokens until it finds the start of a top level construct (i.e.
a statement like a rule, query, declare, etc) and resynch from there. If you
have too many different top level keywords, it increases the probability
that there will be a keyword clash and it will fail to resynch, resulting in
cobolish errors for the rest of the file... :)
I think I'll read the parser once more, with an eye out for recovery ;-)
-W