amplify-education / pratt-parser-blog-code

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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/

About

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

License:MIT License


Languages

Language:TypeScript 95.5%Language:JavaScript 4.5%