// Generated from idlscope.y - manual changes will be lost
ifdef::sidebartoc[]
include::_Sidebar.adoc[]
endif::[]




























Module declaration
------------------

A module definition satisfies the following syntax:

****
[horizontal]
(50) `*module                ::=*` ::
   `"module"` <<grammar#dotgen-rule-module-name,`module-name`>> `"{"` <<grammar#dotgen-rule-module-body,`module-body`>> `"}"` `";"`
(51) `*module-name           ::=*` ::
   <<grammar#dotgen-rule-identifier,`identifier`>>
(52) `*module-body           ::=*` ::
   `[` <<grammar#dotgen-rule-idl-statements,`idl-statements`>> `]`
(3) `*idl-statements        ::=*` ::
   `{` <<grammar#dotgen-rule-idl-statement,`idl-statement`>> `}` <<grammar#dotgen-rule-idl-statement,`idl-statement`>>
****

The only effect of a module is to scope IDL identifiers. It is similar to a
{cpp} or Java namespace; it is considered good practice to enclose your type
definitions inside a module definition to prevent name clashes between
components.


















































































// eof
