标识符 & 关键字

Nim中的标识符可以是任何以字母开头的数字、字母和下划线。不允许两个连续的下划线 __ :

  1. letter ::= 'A'..'Z' | 'a'..'z' | '\x80'..'\xff'
  2. digit ::= '0'..'9'
  3. IDENTIFIER ::= letter ( ['_'] (letter | digit) )*

目前,序数值> 127(非ASCII)的任何Unicode字符都被归类为 字母 ,因此可能是标识符的一部分,但该语言的后续版本可能会指定某些Unicode字符来代替运算符字符。

下面预留的关键字不能用作标识符:

  1. addr and as asm
  2. bind block break
  3. case cast concept const continue converter
  4. defer discard distinct div do
  5. elif else end enum except export
  6. finally for from func
  7. if import in include interface is isnot iterator
  8. let
  9. macro method mixin mod
  10. nil not notin
  11. object of or out
  12. proc ptr
  13. raise ref return
  14. shl shr static
  15. template try tuple type
  16. using
  17. var
  18. when while
  19. xor
  20. yield

有些关键字未使用;它们是为语言的未来发展而保留的。