lark-exploration/lark

Unnecessary additional errors on parse

sophiajt opened this issue · 0 comments

We're currently giving unnecessary additional errors on parse. One example, given this file:

def main() {
!
}

We give the following errors:

error: expected `}`
- testbreakage.lark:3:0
3 | !
}
  | ^

error: extra input after end of expression
- testbreakage.lark:3:0
3 | !
}
  | ^^^^

This is probably related to error recovery. I believe we should be skipping the erroring token and picking up with the parse later in the file to see if the rest is okay rather than stopping and erroring on the remainder.