Vitro C teaching engine (MoonBit)
Dependencies
moon add vitro/engine # 或按包引入 vitro/engine/diag 等| 包 | 层 | 职责 |
|---|---|---|
| vitro/engine/source | L0 | SourceLoc 三字段 + 列单位契约(字节偏移+1 主坐标 / Pos 双坐标预留) |
| vitro/engine/opcode | L0 | 132 条 opcode(编号照搬不重排,空号 44–49)+ 双向映射 + Instruction |
| vitro/engine/diag | L1 | ErrorCode 137 臂 + Severity/SourceLang + 教学卡片 77 条 + 目录导出(对拍逐字节一致) |
| vitro/engine/ast | L2 | Type 17 / Expr 26 / Stmt 16 / decl 全族 + depth + type_eq + to_c_string + mangle + JSON dump |
let code = @diag.ErrorCode::from_code(3053).unwrap()
code.display_code() // "W3053"
code.severity().to_str() // "warning"
code.catalog() // Some(教学卡片) —— 标题 / 解释 / 常见原因moon check && moon test # 105 测试(source 14 / opcode 10 / diag 24+ / ast 13+ / lexer 43)——S2 起 lexer 入列;分解数以 moon test -v 为准
moon info # .mbti 接口面(API 变更信号)Install
Download zipVitro C teaching engine (MoonBit)
Dependencies