evincarofautumn / kitten

A statically typed concatenative systems programming language.
http://kittenlang.org/
Other
1.1k stars 39 forks source link

Parsing tombstones #177

Open evincarofautumn opened 7 years ago

evincarofautumn commented 7 years ago

When a token is missing, assume it was present and keep parsing, accumulating errors for later. E.g.:

-> x y;
//  ^ assume comma

define foo (Int32 Int32 -> Int32):
  …           // ^ assume comma

This should also handle runaway blocks during layout desugaring, assuming no nested top-level program elements.