iac is PolyORB's new IDL-to-Ada compiler. It supports many command line parameters to control code generation optimizations such as use of static hashing for deterministic request dispatching, and optimized GIOP marshalling for CORBA applications.
NAME iac - PolyORB's IDL-to-Ada compiler SYNOPSIS iac [-Edikpqv] [-[no]ir] [-gnatW8] [-o DIR] idl_file [-cppargs ...] DESCRIPTION iac is an IDL-to-Ada compiler, compliant with version 1.2 of the ``Ada Language Mapping Specification'' produced by the OMG. OPTIONS iac accepts the following options: -E Preprocess only -k Keep temporary files -p Produce source on standard output -o DIR Specify output directory (DIR must exist) -dm Generate debug messages when analyzing scopes -df Dump the frontend tree (the IDL tree) -cppargs Pass arguments to the C++ preprocessor -I <dir> Shortcut -cppargs -I directory. Use this flag for the imported entities -nocpp Do not preprocess input -<lang> Generate code for a supported language types Generate a list of all types present in the IDL file -p Print the list generate ada Generate Ada source code -i Generate implementation packages -c Generate code for client side only -s Generate code for server side only -d Generate delegation package (defunct) -ir Generate code for interface repository (defunct) -noir Do not generate code for interface repository (default) -hc Using perfect minimal hash tables in skeletons and minimize CPU time -hm Using perfect minimal hash tables in skeletons and minimize memory space -rs Use the SII/SSI to handle requests -rd Use the DII/DSI to handle requests (default) -da Dump the Ada tree -db Generate only the package bodies -ds Generate only the package specs -dw Output the withed entities -dt Output tree warnings -di Generate code for imported entities idl Dump parsed IDL file -b n Base to output integer literal As a default (zero) use base from input -e Expand IDL Tree -df Dump IDL Tree (may be used in conjunction with -e to dump the expanded IDL tree) -di Output IDL code of imported entities (may be used in conjunction with -e to output the expanded IDL code) EXIT STATUS iac returns one of the following values upon exit: 0 Successful completion 1 Usage error 2 Illegal IDL specification
iac creates several files :
myinterface.ads
, myinterface.adb
: these files contain
the mapping for user defined types (client and server side).
myinterface-impl.ads
, myinterface-impl.adb
:
these files are to be filled in by the user. They contain the
implementation of the server. They are generated only if the -i flag
is specified.
myinterface.ads
, myinterface.adb
: these files
contain the client stubs for the interface.
myinterface-skel.ads
, myinterface-skel.adb
: these files
contain the server-side skeletons for the interface.
myinterface-helper.ads
, myinterface-helper.adb
: these
files contain subprograms to marshal data into CORBA Any containers.
myinterface-ir_info.ads
, myinterface-ir_info.adb
: these
files contain code for registering IDL definitions in the CORBA
Interface Repository. They are generated only if the '-ir'
flag
is specified.
myinterface-cdr.ads
, myinterface-cdr.adb
: these
files contain code for optimized CDR marshalling of GIOP
messages. They are generated only if the '-rs'
flag is
specified.