Skip to content

RemedyIT/ridl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 [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 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.