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!
You can play with the parser online on the github page
Clone the repo, then run
npm install
node fuse.js
Then open http://localhost:4444/