Project

ridl

0.01
No release in over a year
OMG v3.3 compliant native Ruby IDL compiler frontend with support for pluggable (and stackable) backends.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

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

  • support for OMG IDL 4.2 annotations

  • experimental support for IDL 4.2 map, int8/uint8, explicitly-named integer types, bitmask, bitset, empty struct, and struct inheritance

Remedy IT has developed multiple backends for RIDL. These include the following open source backends:

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

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 action will automatically create a new gem and push it to Rubygems.org.

Regenerating ‘lib/ridl/parser.rb`¶ ↑

The file ‘lib/ridl/parser.rb` can be regenerated using `racc -o parser.rb -F -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.