Nearley is fast, expressive, convenient, streamable, battle-tested, bootstrapped(!), has a "standard library", and has an error handling API. You specify grammars in BNF and compile it to a JS (node/browser-compatible) file.
Nearley also has fun tools like "output json.org-style railroad diagrams from my parser" and "use this parser as a fuzzer that creates strings that match the syntax".
Nearley is fast, expressive, convenient, streamable, battle-tested, bootstrapped(!), has a "standard library", and has an error handling API. You specify grammars in BNF and compile it to a JS (node/browser-compatible) file.
Nearley also has fun tools like "output json.org-style railroad diagrams from my parser" and "use this parser as a fuzzer that creates strings that match the syntax".