Inside Ohm's PEG-to-Wasm compiler

19 points by pdubroy a day ago on lobsters | 4 comments

symgryph | 14 hours ago

What exactly does this thing do?

[OP] pdubroy | 13 hours ago

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.

mechazoidal | 24 minutes ago

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.