关于本文
注意 : Nim的实验特性在 这里 。
本文描述Nim语言的词汇、语法,和语义。
语言构造用扩展巴科斯范式(BNF)解释,其中 (a)* 表示 0 或者更多 a, a+ 表示1或更多 a, 以及 (a)? 表示可选 a 。小括号用来对元素进行分组。
& 是先行操作符; &a 表示需要 a 但不被消耗。它将在下列规则中消耗。
非终端符以小写字母开始,抽象终端符用大写。
逐字终端符(包括关键字)用 ' 引用。示例:
- arrayConstructor = '[' expr ^* ',' ']'
Nim的其他部分,如作用域规则或运行时语义,都是非正式描述的。