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 | function‑definition | class‑definition | interface‑definition | enum‑type‑definition | constant‑definition | delegate‑definition | class‑delegate‑definition | |
namespace‑definition | → | namespace qualified‑id { namespace‑content } |
function‑definition | → | function |
class‑definition | → | class |
interface‑definition | → | interface |
enum‑type‑definition | → | enumerated‑type |
constant‑definition | → | constant |
delegate‑definition | → | delegate |
class‑delegate‑definition | → | class‑delegate |
project | → |
project
project‑name
; project‑declaration* |
project‑name | → | id‑char‑sequence ( . id‑char‑sequence )* |
project‑declaration | → | reference‑declaration | source‑file‑declaration | target‑declaration |
reference‑declaration | → | reference file‑path ; |
source‑file‑declaration | → | source file‑path ; |
target‑declaration | → | target = (program | library) ; |
file‑path | → | < [^ >]+ > |
solution | → |
solution
solution‑name
; solution‑declaration* |
solution‑name | → | id‑char‑sequence ( . id‑char‑sequence )* |
solution‑declaration | → | solution‑project‑declaration |
solution‑project‑declaration | → | project file‑path ; |