| compile‑unit | → | namespace‑content |
| namespace‑content | → | using‑directives definitions |
| using‑directives | → | using‑directive* |
| using‑directive | → | using‑alias‑directive | using‑namespace‑directive |
| using‑alias‑directive | → | using identifier = qualified‑id ; |
| using‑namespace‑directive | → | using qualified‑id ; |
| definitions | → | definition* |
| definition | → | namespace‑definition | typedef‑declaration | concept‑definition | function‑definition | class‑definition | interface‑definition | enum‑type‑definition | constant‑definition | delegate‑definition | class‑delegate‑definition | global‑variable‑definition |
| namespace‑definition | → | namespace (qualified‑id | <empty>) { namespace‑content } |
| typedef‑declaration | → | typedef |
| concept‑definition | → | concept |
| function‑definition | → | function |
| class‑definition | → | class |
| interface‑definition | → | interface |
| enum‑type‑definition | → | enum‑type |
| constant‑definition | → | constant |
| delegate‑definition | → | delegate |
| class‑delegate‑definition | → | class‑delegate |
| global‑variable‑definition | → | global‑variable |