200sc/bebop

Support returning multiple errors from compilation

200sc opened this issue · 1 comments

200sc commented

Code generation is currently split into three components, and all of them will need adjustments to report multiple errors:

Tokenization:

  • EOF errors can remain as they are
  • non-EOF errors will need to attempt to guess what the token should have been?

Parsing:

  • EOF errors can remain as they are
  • 'unexpected token' errors will need to ignore bad tokens or populate a best guess token instead (potentially looking ahead to see if the next token is the one we want)
  • There may be a book or guide for how to restructure this section to support these corrective fixes

Generation:

  • Should be the easiest, just have the existing Validate method build up errors instead of returning the first one it sees.
200sc commented

With bebop v0.3.0, Tokenization is complete.