关于本文

    注意 : Nim的实验特性在 。

    本文描述Nim语言的词汇、语法,和语义。

    语言构造用扩展巴科斯范式(BNF)解释,其中 (a)* 表示 0 或者更多 a, a+ 表示1或更多 a, 以及 (a)? 表示可选 a 。小括号用来对元素进行分组。

    & 是先行操作符; &a 表示需要 a 但不被消耗。它将在下列规则中消耗。

    非终端符以小写字母开始,抽象终端符用大写。

    逐字终端符(包括关键字)用 ' 引用。示例:

    1. arrayConstructor = '[' expr ^* ',' ']'

    Nim的其他部分,如作用域规则或运行时语义,都是非正式描述的。