After the comments I've seen from paulp, I'd hardly believe that way Scala did this was optimal, although I'm not sure there were any issues with lexing & parsing
Re:A micro compiler in Ocaml
by seanmcdirmid on Tuesday April 01, 2014 @04:19PM
(#7511376)
It's not optimal and it doesn't matter considering parsing overhead is just noise compared to type system computations.
Using tools is often more complicated than just writing code, it isn't that hard to write a recursive descent parser, and you have the flexibility if loading it with all the error recovery you want. What tools give you is potentially better parser performance and more theoretic assurances (useful for tricky grammars).