But what this library and some others are aiming for is the NEXT level of parsing difficulty: Parsers that work AND also provide high-fidelity output for SEVERAL consumers (IDE, editors, linters, ...) AND provide high-quality errors (aka: diagnostics) AND provide suggestion to fix that errors.
That is another level!
MUCH HARDER!
This is supposed to be a fun article for experimentation in programming languages, not a new advancement in a garbage collection algorithm for increasing the efficiency of a datacenter by 2%.
My favourite new programming language is Svelte for example (just a parser that emits javascript), it's just a little different from HTML/CSS/JS, but just enough to make web development fun again for me.
- Ease of use + ergonomics
- Backtracking 'by default'
- High quality errors and error recovery
Nom is very specifically designed for parsing input not intended to be read by humans, and that focus is evident in the things is prioritises.