RemedyIT / ridl

RIDL, the flexible Ruby IDL compiler

Home Page:https://www.remedy.nl/opensource/ridl.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

RIDL, the flexible Ruby IDL compiler

https://www.remedy.nl/opensource/ridl.html

License:MIT License


Languages

Language:Ruby 100.0%Language:Shell 0.0%