Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Gem Version Linux CI CodeFactor

RIDL Compiler


RIDL is a Ruby library implementing an Object Management Group (OMG) IDL parser/compiler frontend with support for pluggable (and stackable) backends created by Remedy IT.


RIDL provides a framework for implementing compiler/generators for OMG standard IDL definitions. The framework includes:

  • a RACC based parser supplemented with a custom scanner/tokenizer

  • a complete AST class hierarchy for representing parsed IDL specifications

  • a complete Type class hierarchy

  • IDL constants expression support

  • a builtin IDL preprocessor expression parser/evaluator

  • a flexible framework for pluggable (and stackable) backends

  • basic support for backend code re-generation

  • compliant with the OMG IDL 3.5 standard.

Remedy IT has developed multiple backends for RIDL. These include:

When you want to know more about how Remedy IT can assist you with developing your own backend for RIDL contact


If you find a bug, please report it as RIDL issue.


This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.

Installing RIDL

RIDL is distributed as a Ruby Gem. You can download and install RIDL as a Ruby Gem from the common repository by executing the following command:

$ gem install ridl

The RIDL Gem is a Ruby-only Gem without any dependencies.

Releasing new RIDL Ruby Gem

A new RIDL ruby gem release can be made by incrementing the RIDL version in lib/ridl/version.rb and create a new release on github matching the new version (for example v2.7.0). The github Ruby Gem Release action will automatically create a new gem and push it to

Regenerating `lib/racc/parser.rb`

The file `lib/racc/parser.rb` can be regenerated using `racc -o parser.rb -E parser.ry`. The option `-E` embeds the racc parser within RIDL which is required for RIDL because jruby doesn't contain `RACC` as cruby does.