Each module contains imports and declarations. The includes are just list of files that are to be included into the generated source code.
<module_spec> ::= module <identifier> "{" <includes> <declarations> "}"
For example:
module basic {
include "cast.h";
...
}
The declarations declare the classes that are to appear in the modules.