Files
endorphin-aster-vm/crates/compiler/examples/README.md
T

25 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 可执行 Endor 示例
这些 UTF-8 文件由 compiler 和 CLI 集成测试直接使用;运行只在指定远端环境进行,本地不运行。
| 文件 | 输入模式与预期结果 |
| --- | --- |
| [cases.json](cases.json) | CI 实际输出报告的用例清单;覆盖本目录每个 .endor 文件,指定 run/eval 和精确预期 stdout |
| [hello.endor](hello.endor) | run;main 返回“你好,Endor 🌱” |
| [calls.endor](calls.endor) | run;前向函数引用、参数和 let,返回“函数调用已接通” |
| [shadowing.endor](shadowing.endor) | run;参数遮蔽全局函数名并传递函数值,返回“局部名称优先” |
| [number.endor](number.endor) | run;返回无损负十进制常量 -123456789012345678901234567890.00100 |
| [literal.endor](literal.endor) | eval;返回“表达式 → 字节码 → VM” |
```sh
lyra run crates/compiler/examples/hello.endor
lyra run crates/compiler/examples/calls.endor
lyra run crates/compiler/examples/shadowing.endor
lyra run crates/compiler/examples/number.endor
lyra eval crates/compiler/examples/literal.endor
```
run 默认调用无参数 main,可用 --entry name 选择另一个无参数入口;eval 解析一个完整表达式,二者都支持 - 读取 stdin 到 EOF。类型名称暂只保留语法,Callable 不要求预先注册语言类。例子不依赖 print 或其他默认标准库。编译器尚无算术运行语义;前端 basic.endor 含算术,只是解析示例,不能混作可执行示例。规则见 [编译契约](../../../docs/runtime/compiler.md),返回 [compiler](../README.md)。
本目录与 cases.json 继续作为引擎测试资料。独立 Lyra CLI 的 CI 使用固定 Aster 子模块中的同一份样例,实际执行 lyra run/eval 并保存 stdout/stderr、退出码及报告 artifact;报告脚本和进程入口检查位于 Lyra 仓库。Aster 不设置独立 CI/CD;Lyra CI 同时显式执行 Aster 引擎检查和 CLI 检查。