escodegen
peggy
escodegen | peggy | |
---|---|---|
3 | 8 | |
2,620 | 808 | |
0.2% | 3.8% | |
1.2 | 9.0 | |
25 days ago | 28 days ago | |
JavaScript | JavaScript | |
BSD 2-clause "Simplified" License | MIT License |
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.
escodegen
-
How to make your own programming language in JavaScript
What's cool about Esprima syntax is that there are tools that generate code based on their AST. An example is escodegen which takes Esprima AST as input and outputs JavaScript code. You can think that you can use just strings to generate code, but this solution will not scale. In this tutorial, I show only a single if statement but you will run into a lot of problems if you will have more complex code.
- Show HN: Monocle – bidirectional code generation library
-
Abstract Syntax Trees: They're Actually Used Everywhere -- But What Are They?
Unparse the modified AST back into Javascript: Escodegen
peggy
- Peggy: Parser Generator for JavaScript
- GitHub - peggyjs/peggy: Peggy: Parser generator for JavaScript
- Peggy: Maintained fork of PEG.js parser generator
-
Creating a custom parser with PEGJS
The PEG.js project got taken over by a new maintainer who locked everyone else out, never shipped a release, and then ignored repeated requests to transfer the project back to the community. So the community forked it to a new project - Peggy, which is where ongoing development happens: https://github.com/peggyjs/peggy
-
How to make your own programming language in JavaScript
NOTE: The original PEG.js project is not maintained anymore, but there is a new fork, Peggy that is maintained and it's backward compatible with PEG.js so it will be easy to switch.
-
Show HN: DTL: a language and JavaScript lib to transform and manipulate data
Thanks. Yes, DTL's core textual syntax is described with PEG. I make use of the Peggy (https://peggyjs.org/) PEG processor to build up the AST that is used to actually process DTL.
There are C based PEG processors, which I've looked at once or twice also, but I haven't sat down to try to convert it. Mostly out of a desire to get the existing module to work well. A working module for one language is better than a partially working module for multiple. :P
-
Parsing in JavaScript: all the tools and libraries you can use
hmm this article is a bit outdated; peg.js (mentioned in the article) has been discountined for a few years now; recently the project was picked up by another team under the name peggy.js https://github.com/peggyjs/peggy
What are some alternatives?
recast - JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator
PEG.js - PEG.js: Parser generator for JavaScript
esprima - ECMAScript parsing infrastructure for multipurpose analysis
lezer - Dev utils and issues for the Lezer core packages
espree - An Esprima-compatible JavaScript parser
ohm - A library and language for building parsers, interpreters, compilers, etc.
astring - 🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST.
estree - The ESTree Spec
purescript - A strongly-typed language that compiles to JavaScript
estraverse - ECMAScript JS AST traversal functions
lens-toml-parser - Lenses for toml-parser