Files
endorphin-aster-vm/crates/frontend

frontend

独立源码前端:EndorReader → SourceUnit → 手写 Rust lexer → token → rust-peg parser → 拥有文本的 AST。当前解析基础函数与表达式,不生成字节码、不进行类型/名称解析、不执行源码。语法是可继续调整的首版实现,当前契约见 源码前端。

内容 职责
Cargo.toml frontend 包与 peg 0.8.6 依赖,不依赖 core、Host 或 Storage
src 阅读器、SourceUnit、token、源码范围、诊断、AST、词法;PEG 规则独立在 grammar.peg
tests Unicode、优先级、函数、完整输入与错误位置验证
examples 可交给 cli parse 的源码样例

宿主通过 EndorReader 读取字符串、流、文件或注入的 URI provider,取得 SourceUnit 后调用 lex_source、parse_source、parse_source_expression;低层 lex、parse、parse_expression 仍保留。读取契约见 Endor 阅读器。Core 仍为零外部依赖;未来编译器将 AST 转成已有字节码,不改为 AST 直接解释。返回 工作区。