呢一頁仲未翻譯。英文版本為準。 睇英文版 →

语言指南

跟随当前编译器的核心语法和语义。

语言指南

今天你应该教授的语言表面是反复出现在示例、测试和当前已检查的艺术品中的保守子集。此页面是该稳定教学表面的地图,而不是承诺在仓库中的每个历史语法形式或研究 DSL 都同样可用。

稳定教学表面应包含的内容

  • 使用 letvar 的本地绑定。
  • 函数、块、返回类型和显式的 with ... 效果注释。
  • 控制流,如 ifwhileformatch
  • 可以用已检查的固定件代替设计文档演示的核心代数和认识论思想。

实现现在在哪里

  • 解析和文法工作集中在 self-hosted/lexer/self-hosted/parser/ 下。
  • 名称解析位于 self-hosted/resolve/ 下。
  • 类型检查和语义检查位于 self-hosted/check/ 下,包括效果、认识论检查、单位、所有权、特质和精炼的专用模块。
  • 旧的 Rust-side 编译器文档仍然有用作历史架构参考,但它们不再是活跃源树的最佳主要地图。

代表语法

let value = 5
var count = 0

fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn main() with IO {
    if value > 0 {
        println(add(value, count))
    }
}

如何准确地记录语法

  • 偏好可以立即使用 souc check 验证的示例。
  • tests/run-pass/tests/compile-fail/ 和文档中记录快照中的高级声明。
  • 如果一个语言特性仅在大型架构注释或旧指南中描述,除非你有当前的固定件或艺术品支持的证据,否则将其记录为设计意图。