Or you could take the
middle ground
and use a library meant
to make it easier to create hand built parsers.
as opposed to a library that generates a parser for you.
* Repo: https://github.com/SAP/chevrotain
* Online Playground: http://sap.github.io/chevrotain/playground/
This handles the repetitive parts such as lookahead functions
creation or Parse Tree building, while also providing advanced features such as error recovery or syntactic content assist (auto complete).
* ECMAScript family of languages supported (JavaScript/TypeScript/CoffeeScript).