The code to illustrate the pratt parser blog post for the desmos engineering blog.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
src
.gitignore
LICENSE
README.md
fuse.js
package-lock.json
package.json
tsconfig.json

README.md

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/