ohm
PEG.js
Our great sponsors
ohm | PEG.js | |
---|---|---|
10 | 8 | |
4,877 | 4,726 | |
1.0% | 0.0% | |
6.8 | 0.0 | |
28 days ago | over 2 years ago | |
JavaScript | JavaScript | |
MIT 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.
ohm
-
Ohm: A library and language for building parsers, interpreters, compilers, etc.
Building an interpreter or a compiler from a grammar is an interesting idea. I can't immediately see how to go about it - the grammar would need to match on SSA or similar.
The examples have a lisp-like interpreter at https://github.com/ohmjs/ohm/blob/main/examples/simple-lisp/... which definitely uses a grammar for parsing and might use a generic AST representation.
Will have to think more - a grammar might be a worthwhile way to specify a nanopass style compiler pipeline.
-
Is there a generalised, abstract programming language, designed to be specialised to a specific domain?
Look for OMeta and its successor Ohm.
-
[AskJS] Why does our community hate Operator Overloading?
One more suggestion: Maybe create your own scripting-language using Ohm? The project works in JavaScript, so whatever you created would sit on top of your existing APIs.
-
A different / new way to write compilers?
OMeta and its successor ohm might provide some interesting ideas.
-
Ohm – A library and language for building parsers, interpreters, compilers, etc.
Always fun to find the first commit:
https://github.com/harc/ohm/commit/4611bf63c5ecb90d782112d68...
2014
Neat tool. I write parsers by hand though. More fun, and you can be a lot sleazier.
PEG.js
- Peg.js: Parser Generator for JavaScript
-
How do you start your own programming language?
Here's a javascript library that lets you generate your own language that compiles to Javascript. https://pegjs.org/ It's a compiler generator. You can either use the command line tool and feed it your grammar (You have to write that) and use the generated parser.js which can then run your program, or use peg.js as a dependency and generate your parser at run time before feeding it your program.
- My first Vue app - Subtitle offset editor
-
Deno in 2022
The library they're having trouble with is the most common parser generator in javascript, peg.js, which has about 80% of the market
-
UX mockups with TEXT (markdown)
Currently, I have only POC the grammar and language and parser are created using https://pegjs.org/
-
PEG Parsers: sometimes more appropriate than Regex
In past blog posts, where I've written about PEG, I've used Parsimonious in Python, such as three of my solutions to the 2020 Advent Of Code challenges (here, (here)[https://dev.to/meseta/advent-of-code-day-18-finally-using-peg-grammar-in-python-in-the-way-it-s-supposed-to-3253], and (here)[https://dev.to/meseta/advent-of-code-day-19-abusing-peg-grammar-in-python-the-way-it-s-not-supposed-to-2beg]). This time, because the rest of the website is javascript, I will be using PEG.js instead to avoid adding an extra programming language to the codebase.
-
Formal Logic Rules for a computer-assisted RPG
Update: I started writing a grammar for this language in PEG using PEG.js. This was super fun, I'll take a stab at an interpreter next, that should be much harder.
-
I'd like to ask you guys a question, how or in what way is a Programming Language made?
I was going to post the same thing. This really helped me understand the concepts better back in the day. They also have examples for some popular languages on their github: https://github.com/pegjs/pegjs/tree/master/examples
What are some alternatives?
peggy - Peggy: Parser generator for JavaScript
nearley - 📜🔜🌲 Simple, fast, powerful parser toolkit for JavaScript.
Pegged - A Parsing Expression Grammar (PEG) module, using the D programming language.
usfm-grammar - An elegant USFM parser.
Jison - Bison in JavaScript.
Chevrotain - Parser Building Toolkit for JavaScript
js-yaml - JavaScript YAML parser and dumper. Very fast.
meowlang - Meow Programming Language
pymetaterp - A python parser that builds python ASTs in 502 lines of python without using modules
markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed