/comidl

COM IDL compiler

Primary LanguageCOtherNOASSERTION

@(#) $Id$

This is what will eventually become the IDL compiler for libcom. It borrows
some grammar rules from the original DCE/RPC IDL compiler (which was
subsequently modified by PADL and Novell), but is otherwise a fresh
implementation.

At present, comidl simply parses IDL files into an internal set of structures
and writes C/C++ headers for defined interfaces--there's no stub generation
yet, but all of the information needed to write the stub generation code
should be represented correctly in the internal structures.

If you're looking for example code because you want to write some kind of
parser or compiler for a C-like language, this isn't a good place to start;
the code here is by no means a shining example of 'how to effectively use
flex and bison'.

The most important factor is that comidl can generate the correct output
for libcom's own IDL. Microsoft's IDL compiler (midl), WINE's IDL compiler
(widl) and plenty of others will likely do a much better job on real-world
IDL. Note also that comidl has no pretence about adhering to the DCE/RPC spec;
this is a COM IDL compiler, not a DCE/RPC IDL compiler: although COM is
theoretically backwards-compatible with DCE/RPC in most respects, there are
specific dependencies (albeit minor ones) on libcom in the generated output.