{"id":23317566,"url":"https://github.com/remedyit/ridl","last_synced_at":"2025-08-22T16:31:57.094Z","repository":{"id":36322165,"uuid":"208991883","full_name":"RemedyIT/ridl","owner":"RemedyIT","description":"RIDL, the flexible Ruby IDL compiler","archived":false,"fork":false,"pushed_at":"2024-11-25T12:12:49.000Z","size":799,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-25T13:22:42.550Z","etag":null,"topics":["compiler","frontend","idl","pluggable","ruby"],"latest_commit_sha":null,"homepage":"https://www.remedy.nl/opensource/ridl.html","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RemedyIT.png","metadata":{"files":{"readme":"README.rdoc","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"RemedyIT"}},"created_at":"2019-09-17T07:50:14.000Z","updated_at":"2024-11-25T12:12:54.000Z","dependencies_parsed_at":"2024-01-24T15:29:18.524Z","dependency_job_id":"a32c89e3-bee4-40a3-970e-f6208b62b467","html_url":"https://github.com/RemedyIT/ridl","commit_stats":{"total_commits":171,"total_committers":4,"mean_commits":42.75,"dds":"0.16959064327485385","last_synced_commit":"6ff03c5b2cde9a2564a4e6455ec1bf106f24c3cf"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemedyIT%2Fridl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemedyIT%2Fridl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemedyIT%2Fridl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemedyIT%2Fridl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemedyIT","download_url":"https://codeload.github.com/RemedyIT/ridl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230615153,"owners_count":18253917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","frontend","idl","pluggable","ruby"],"created_at":"2024-12-20T16:34:28.806Z","updated_at":"2024-12-20T16:34:29.562Z","avatar_url":"https://github.com/RemedyIT.png","language":"Ruby","funding_links":["https://github.com/sponsors/RemedyIT"],"categories":[],"sub_categories":[],"readme":"{rdoc-image:https://badge.fury.io/rb/ridl.svg}[https://badge.fury.io/rb/ridl]\n{rdoc-image:https://github.com/RemedyIT/ridl/actions/workflows/r2corba.yml/badge.svg}[https://github.com/RemedyIT/ridl/actions?query=workflow%3Ar2corba]\n{rdoc-image:https://github.com/RemedyIT/ridl/actions/workflows/taox11.yml/badge.svg}[https://github.com/RemedyIT/ridl/actions?query=workflow%3Ataox11]\n{rdoc-image:https://github.com/RemedyIT/ridl/actions/workflows/ciaox11.yml/badge.svg}[https://github.com/RemedyIT/ridl/actions?query=workflow%3Aciaox11]\n{rdoc-image:https://www.codefactor.io/repository/github/remedyit/ridl/badge}[https://www.codefactor.io/repository/github/remedyit/ridl]\n\n= RIDL Compiler\n\n== Description\n\n{RIDL}[https://www.remedy.nl/opensource/ridl.html] is a Ruby library implementing an Object Management Group (OMG) {IDL}[https://www.omg.org/spec/IDL] parser/compiler frontend with support for pluggable (and stackable) backends created by {Remedy IT}[https://www.remedy.nl].\n\n== Synopsis\n\nRIDL provides a framework for implementing compiler/generators for OMG standard IDL definitions. The framework includes:\n* a {RACC}[https://github.com/ruby/racc] based parser supplemented with a custom scanner/tokenizer\n* a complete AST class hierarchy for representing parsed IDL specifications\n* a complete Type class hierarchy\n* IDL constants expression support\n* a builtin IDL preprocessor expression parser/evaluator\n* a flexible framework for pluggable (and stackable) backends\n* basic support for backend code re-generation\n* compliant with the {OMG IDL 3.5}[https://www.omg.org/spec/IDL/3.5] standard\n* support for {OMG IDL 4.2}[https://www.omg.org/spec/IDL/4.2] annotations\n* experimental support for IDL 4.2 map, int8/uint8, explicitly-named integer types, bitmask, bitset, empty struct, and struct inheritance\n\nRemedy IT has developed multiple backends for RIDL. These include the following open source backends:\n* {R2CORBA}[https://www.remedy.nl/opensource/r2corba.html] generating Ruby code\n* {TAOX11}[https://www.taox11.org] generating C++11 code\n* {AXCIOMA}[https://www.axcioma.org] generating C++11 code\n\nWhen you want to know more about how Remedy IT can assist you with developing your own backend for RIDL contact {sales@remedy.nl}[mailto:sales@remedy.nl].\n\n== Bugs\n\nIf you find a bug, please report it as {RIDL issue}[https://github.com/RemedyIT/ridl/issues].\n\n== Warranty\n\nThis 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.\n\n== Installing RIDL\n\nRIDL is distributed as a Ruby Gem. You can download and install RIDL as a Ruby Gem from the common {Rubygems.org}[https://www.rubygems.org/gems/ridl] repository by executing the following command:\n\n $ gem install ridl\n\nThe RIDL Gem is a Ruby-only Gem without any dependencies.\n\n== Releasing new RIDL Ruby Gem\n\nA new RIDL ruby gem release can be made by incrementing the RIDL version in link:lib/ridl/version.rb and create a new release on {github}[https://github.com/RemedyIT/ridl/releases] 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}[https://www.rubygems.org/gems/ridl].\n\n== Regenerating `lib/ridl/parser.rb`\n\nThe 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremedyit%2Fridl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremedyit%2Fridl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremedyit%2Fridl/lists"}