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.
symgryph | 14 hours ago
What exactly does this thing do?
[OP] pdubroy | 13 hours ago
From ohmjs.org:
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.
snej | 3 hours ago
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.