CommunityNews

CommunityNews

Ohm – A library and language for building parsers, interpreters, compilers, etc

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.

The Ohm language is based on parsing expression grammars (PEGs), which are a formal way of describing syntax, similar to regular expressions and context-free grammars. The Ohm library provides a JavaScript interface for creating parsers, interpreters, and more from the grammars you write.

  • Full support for left-recursive rules means that you can define left-associative operators in a natural way.
  • Object-oriented grammar extension makes it easy to extend an existing language with new syntax.
  • Modular semantic actions. Unlike many similar tools, Ohm completely separates grammars from semantic actions. This separation improves modularity and extensibility, and makes both grammars and semantic actions easier to read and understand.
  • Online editor and visualizer. The Ohm Editor provides instant feedback and an interactive visualization that makes the entire execution of the parser visible and tangible. It’ll make you feel like you have superpowers. :muscle:

Some awesome things people have built using Ohm:

  • Seymour, a live programming environment for the classroom.
  • Chorus, a project exploring the middle ground between spreadsheets and programming.
  • Shadama, a particle simulation language designed for high-school science.
  • turtle.audio, an audio environment where simple text commands generate lines that can play music.
  • A browser-based tool that turns written Konnakkol (a South Indian vocal percussion art) into audio.
  • Wildcard, a browser extension that empowers anyone to modify websites to meet their own specific needs, uses Ohm for its spreadsheet formulas…

This thread was posted by one of our members via one of our news source trackers.

Most Liked

AstonJ

AstonJ

@ohm - saw this and wondered whether it was you behind it :laughing:

ohm

ohm

Ha! Unfortunately, no. I think it would have been a bit vain as well :rofl:

AstonJ

AstonJ

It’s a cool name tho Ohm! :sunglasses:

I remember that when I first came across your username I immediately thought of electricity :electric_plug: :robot:

Where Next?

Popular Backend topics Top

First poster: bot
Quarkus 1.10.3.Final has been released. Link: Release 1.10.3.Final · quarkusio/quarkus · GitHub
New
First poster: bot
Node.js v14.18.3 and v12.22.9 has been released. Link: Release 2022-01-10, Version 14.18.3 'Fermium' (LTS), @richardlau · nodejs/node ·...
New
NewsBot
A new PostgreSQL blog post/announcement has been posted! Get the full details here: PostgreSQL: PostgreSQL JDBC 42.7.7 Security update ...
New
NewsBot
A new Python blog post/announcement has been posted! Get the full details here: Python Insider: Python 3.14 release candidate 1 is go!
New
NewsBot
A new Python blog post/announcement has been posted! This is the sixth maintenance release of Python 3.13 Python 3.13 is the newest maj...
New
NewsBot
A new PostgreSQL blog post/announcement has been posted! Get the full details here: PostgreSQL: PostgreSQL 17.6, 16.10, 15.14, 14.19, 1...
New
NewsBot
A new Ruby blog post/announcement has been posted! Get the full details here: Ruby 3.4.6 Released
New
New
NewsBot
Node.js v25.1.0, v24.11.0 and v22.21.1 has been released. Link: Release 2025-10-28, Version 25.1.0 (Current), @aduh95 · nodejs/node · G...
New
NewsBot
A new PostgreSQL blog post/announcement has been posted! Get the full details here: https://www.postgresql.org/about/news/credcheck-v43...
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
PragmaticBookshelf
25 puzzles that will make you a better C programmer by challenging your knowledge of the language, and explaining the technical details o...
New
PragmaticBookshelf
A masterclass in the fundamentals and principles of functional programming. Minh Quang Tran The Art of Functional Programming is a ma...
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New