<img src=“https://badge.fury.io/rb/ridl.svg” alt=“Gem Version” /> <img src=“https://dev.azure.com/remedyit/axcioma/_apis/build/status/ridl?branchName=master” alt=“Azure pipeline” />

RIDL Compiler

Description

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.

Synopsis

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 [email protected].

Bugs

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

Warranty

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 Rubygems.org 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}:https://github.com/RemedyIT/ridl/actions?query=workflow%3A%22Ruby+Gem+Release%22 action will automatically create a new gem and push it to {Rubygems.org.