• Type段

    Type段

    示例:

    1. type # 演示相互递归类型的示例
    2. Node = ref object # 垃圾收集器管理的对象(r​​ef)
    3. le, ri: Node # 左右子树
    4. sym: ref Sym # 叶节点含有Sym的引用
    5.  
    6. Sym = object # 一个符号
    7. name: string # 符号名
    8. line: int # 声明符号的行
    9. code: Node # 符号的抽象语法树

    类型部分以 type 关键字开头。 它包含多个类型定义。 类型定义将类型绑定到名称。 类型定义可以是递归的,甚至可以是相互递归的。 相互递归类型只能在单个 type 部分中使用。 像 objectsenums 这样的标称类型只能在 type 部分中定义。