Inside Ohm's PEG-to-Wasm compiler
19 points by pdubroy
19 points by pdubroy
What exactly does this thing do?
From ohmjs.org:
Ohm is a parsing toolkit consisting of a library and a domain-specific language. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages.
When you work with Ohm, you give it a grammar which describes the language you want to parse — it could be an existing language (JSON), but often it's a new language for which there aren't already existing parsers you can easily use. For example, pip-requirements-txt is an NPM package uses Ohm to parse requirements.txt files.
I used Ohm last year to implement a parser for Couchbase's SQL++ query language. It’s a nice tool. Having the parser run in WASM will be even better, but it sounds like I’ll need to make changes to my code since the API has changed.
In addition to the other comments I've heard Ohm described as a younger brother to OMeta, which came out of Alan Kay's VPRI.