Files
endorphin-aster-vm/crates/frontend/src

Frontend 源码

文件 职责
lib.rs 公开 AST 模块、阅读器/来源单元、低层及带来源的词法/语法入口与诊断导出
source.rs 不可变 SourceUnit、来源类别和携带来源/行列的 SourceDiagnostic
reader.rs 字符串、流、文件读取、严格 UTF-8 解码与宿主 EndorSourceProvider 适配
token.rs 可复制的 token 种类和原始源码范围,文本由源码切片取得
diagnostic.rs UTF-8 字节范围、词法/语法诊断与一基行列转换
lexer.rs 名称、数字、字符串、标点、空白与注释扫描;字符串校验及解码
ast.rs 拥有文本的函数、参数、绑定、return、表达式与运算符结构
parser.rs 解析 API、错误映射、AST 辅助函数,以及独立语法文件的编译期引入
grammar.peg token 输入的 PEG 规则、运算符优先级与 AST 构造动作;保留 peg::parser! 外层声明

改输入适配时同步 阅读器契约 与读取错误检查;改词法时同步 token 和错误检查;改语法从 grammar.peg 进入,并同步 AST、测试、样例与 前端契约。不在语法动作中做 VM 分配、I/O 或修改外部状态,避免回溯造成副作用。返回 frontend。