idl-specification ::= declaration*
exception-decl ::= ["published"] "exception" identifier [single-inheritance]
"{" struct-member-decl* "}" ";"
constants-decl ::= ["published"] identifier "{" const-decl+ "}" ";"
module-decl ::= "module" identifier "{" declaration* "}" ";"
accumulated-service-decl ::= ["published"] "service" identifier "{" service-member-decl* "}" ";"