This manual describes omniidl, the omniORB IDL compiler. It is intended for developers who wish to write their own IDL compiler back-ends, or to modify existing ones. It also documents the design of the compiler front-end for those poor souls who have to track the IDL specification.