module X { module Empty { header "empty.h" } exclude header "textual1.h" textual header "textual2.h" textual header "textual3.h" module A { header "usetextual1.h" } module B { header "usetextual2.h" } module C { header "usetextual3.h" } module D { header "usetextual4.h" } module E { header "usetextual5.h" } module P { private header "private1.h" } module Q { private header "private2.h" } module R { private header "private3.h" } module S { header "useprivate1.h" export * } module T { header "useprivate3.h" } } module Other { textual header "textual4.h" }