@kaoscript/parser

0.7.0 • Public • Published

@kaoscript/parser

kaoscript License NPM Version Dependency Status Build Status CircleCI Coverage Status

Parse kaoscript files and generates an abstract syntax tree.

Documentation available at kaoscript.

Evolution

  • July-August 2016: since I didn't wanted to handwriting the parser, I've used a LL(*) parser. Slow since lot of backtracking.

  • August 2016 - May 2017: I've used Jison to generate a SLR parser. Faster (10x) but the syntax was getting complex and tricky.

  • May 2017: I've tried chevrotain (a fast LL(4) parser).

    I didn't choice it because:

    • You have to distinguish ambiguous rules, complexify the syntax
    • You can't switch the tokenizer when parsing
  • May 2017 - *: Handwritten parser. It's basically a LL(1) parser with few lookheads.

    Advantages:

    • at least 2x times faster than Jison
    • manageable code
    • better support of space
    • macro

License

MIT © Baptiste Augrain

Readme

Keywords

Package Sidebar

Install

npm i @kaoscript/parser

Weekly Downloads

0

Version

0.7.0

License

MIT

Unpacked Size

262 kB

Total Files

6

Last publish

Collaborators

  • daiyam