Pasukon – The easy JavaScript parser generator

  • I like this a lot!

    A small critique: it might be useful to include a small explainer of why parsers / ADTs are useful - maybe in the context of decoding JSON.

    (Learning about ADTs shifted the way that I think about data modelling and application development, so I am a huge fan.)

  • This looks cool but the “easy to learn” intro statement set a disappointing expectation. Building up some simple examples would really help.

    I mean this as constructive criticize, apologies if it feels too harsh.

  • This looks like a nice simplification of yacc/bison and lex/flex. The `then` keyword seems superfluous though; what was the motivation for `then` as opposed to just juxtaposition?

  • Good stuff. I have 2 questions:

    1. Is there a Pasukon grammar for JavaScript/ES6?

    2. Is there a Pasukon grammar for Pasukon grammars?

  • Does the term "substraction" mean anything in particular? It's kind of funny to have the same typo four times on the main page... I guess it compiles either way. b^)

    It looks like a great package. I have loved parser combinators forever.

  • undefined

  • Similar tool: https://github.com/DmitrySoshnikov/syntax

    It can emit parser in many languages.

    There are also a couple of udemy courses from the author, about parsing and language creation. They are quite good imho.

  • Having written my own CommonMark parser, I often wonder if I should have used some kind of parser generator. Can I use this to parse CommonMark (in 100% compliant way)? – And, can I parse it such that I can recreate the original Markdown based on the resulting model?

  • Awesome! I've been wanting to add a proper parser to my Scheme interpreter for a long time now, and this might lower the barrier enough to motivate me to actually do it.

  • I am pretty happy with the parser from MS: https://github.com/microsoft/ts-parsec#readme the API is pretty intuitive and it the package is reliable Can't imagine why I would want to switch to PASUKON(what an odd name by the way).