[omniORB] OMNIORB's IDL compiler

Duncan Grisby duncan@grisby.org
Tue Mar 18 15:21:01 2003


On Tuesday 18 March, Doru-Catalin Togea wrote:

> I am writing my master's thesis in computer science, on issues related to
> CORBA, among other things. I have no experience with OMNIORB but I
> understand it is well developed, well supported and quite efficient.

All very good. Perhaps you would seem more sincere if you hadn't said
exactly the same thing about TAO on their mailing list... ;-)

> Can anyone please help me to understand how its OMNIORB's IDL compiler is
> built? Which tools have been used (like yacc, bison), on which platforms
> will it build and if and where the grammar files are available?

omniidl uses flex and bison. The compiler front end is written in
C++. Backs ends are written in Python.

The flex and bison files are in the idl.ll and idl.yy files in the
src/tool/omniidl/cxx directory.

> If anyone masters this topic, can you also please informe me as to how
> difficult you consider it to be to modify the IDL grammar and rebuild the
> compiler for experimental purposes with extended IDLs.

It shouldn't be too hard, although the IDL grammar is slightly fragile
due to the valuetype syntax. You can probably do quite a lot of
experimental modification using pragmas, and the __omni_pragma
extension.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan@grisby.org     --
   -- http://www.grisby.org --