CSTN
Chevrotain
Our great sponsors
CSTN | Chevrotain | |
---|---|---|
1 | 3 | |
1 | 2,397 | |
- | 1.5% | |
0.0 | 6.7 | |
almost 8 years ago | 8 days ago | |
Python | TypeScript | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CSTN
-
Why are you building a programming language?
My recommendation is to just write something, even if it sucks. That goes for any concept. You'll learn faster and better by interacting with the machinery yourself versus trying to interpret someone else's abstract understanding of the machinery. In this case, that means choose a simple language or write your own grammar to play with, and make a parser for it. The first real parser I made is a recursive descent parser that parses a relative of JSON. If you're curious, my code is available), but I was a lesser programmer when I wrote it, so don't take it as an example of how you must do things. Regardless, it does work. I've continued to use the character stream code in every text parser I've written since, with some improvements.
Chevrotain
-
Ohm: A library and language for building parsers, interpreters, compilers, etc.
How does this compare with Chevrotain[1]?
More specifically, can I build lexers with Ohm? Can it generate a syntax diagram from a grammar?
[1]: https://github.com/chevrotain/chevrotain
-
Introduction to Lexers, Parsers and Interpreters with Chevrotain
To learn more about Chevrotain visit: https://chevrotain.io/
-
Why are you building a programming language?
I don't think I'll have time to make one any time soon, unfortunately. My original plan was to write a compiler in TypeScript using Chevrotain, and see if it's possible to compile down to TypeScript's AST and feed that into its own compiler programmatically. Basically piggybacking on Microsoft's hard work (work smart, not hard). I don't know if it's possible, but it's what I'd try first.
What are some alternatives?
gaiman - Gaiman: Text based game engine and programming language
PEG.js - PEG.js: Parser generator for JavaScript
design - WebAssembly Design Documents
nearley - 📜🔜🌲 Simple, fast, powerful parser toolkit for JavaScript.
ngs - Next Generation Shell (NGS)
Jison - Bison in JavaScript.
na - a minimal data notation format
markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
parsec 🌌 - 🌌 Tiniest body parser in the universe. Built for modern Node.js
kesh - A simple little programming language that could one day compile to JavaScript.
csv-parser - Streaming csv parser inspired by binary-csv that aims to be faster than everyone else