Compile Unit Grammar

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