/pratt-parser-blog-code

The code to illustrate the pratt parser blog post for the desmos engineering blog.

Primary LanguageTypeScriptMIT LicenseMIT

pratt-parser-blog-code

This project implements a lexer and Pratt parser for a simple language.

It also creates a CodeMirror mode, myMode, that provides syntax highliting based on the lexer, and linting for parsing errors.

For more details, see this blog post on the Desmos engineering blog.

Hopefully this will serve as a nice starting point for anyone interested in building a web-based language. Enjoy!

Online

You can play with the parser online on the github page

Setup

Clone the repo, then run

npm install
node fuse.js

Then open http://localhost:4444/