语言设计
DEMO6 功能清单
1911 行完整功能清单,覆盖 DEMO6 所有已实现语法、类型、语义、标准库 API 和边界。
DEMO6 设计文档
demo6/docs 目录下的权威设计文档,包含各模块设计决策和演进记录。
CGen 规则文档
756 条代码生成规则和 43 个对照文档,展示 xlang 到 C 的转译策略。
编译管线详解
词法分析(Lexer)
基于 Flex 的词法生成器,支持 UTF-8 标识符、f-string、时间字面量、多行注释嵌套。
语法分析(Parser)
基于 Lemon 的 LALR 解析器,构建 AST。支持 `then`/`end` 块结构、中英文标识符。
语义检查与 IR
类型检查、协议校验、泛型实例化、重载决议、作用域管理、资源生命周期检查。
C 代码生成(CGen)
145 个 cgen 源文件、756 条规则,生成 C 源码后通过内嵌 TCC 内存编译执行。
ABI 元数据
生成 C 头文件和 ABI dump(.abi.json / .abi.txt),枚举 C ABI 导出符号,作为 xlang 与 C、扩展库之间的信息中枢。
内嵌 TCC 与 VFS
动态 VFS -> 外部文件 -> 静态 VFS 三级查找。xl.dll 零外部依赖运行。
命令行工具
xl.exe
编译器/运行器,支持 lex/parse/check/ir/cgen/abi/run/build/impdef 全阶段命令。
xl.exe dbg / dap
集成调试器,基于 DAP(Debug Adapter Protocol)的源码级调试,支持断点/单步/调用栈。
xl.dll 嵌入式运行
76 个公开 C API(xl.h 43 + xlc.h 33)的轻量嵌入式 DLL,零外部依赖。支持 C 宿主创建上下文、运行脚本、注册函数。
xlc.dll 编译版 DLL
带完整 TCC 编译资源的嵌入式 DLL,支持脚本编译到 exe 的 DLL 嵌入场景。
测试与守门
880 个测试用例,test.bat / test_feature_suite.bat / rc0_guard.bat 全套回归和守门脚本。
C 混编构建
支持 .xl 与 .c 文件混合编译,--inc-path / --lib-path / --link / --loadlib 参数注入。
范例与测试
xlang DEMO6 提供了丰富的测试和范例资源:
examples/(153 个)
完整语言特性演示:基础语法、类型系统、OOP、async、生成器、C 互操作等。
test/cases/(880 个)
按分类组织的测试用例,覆盖所有语言特性和边界条件。
stdlib 测试(62 个)
标准库各命名空间的专用测试,覆盖 515 个公开函数。
package/extlib fixture(48 个)
扩展库和 package 导入的测试夹具,覆盖多版本共存场景。
tutorial 范例
入门教程范例,循序渐进展示 xlang 语法。
DLL/C 宿主验证
嵌入式 DLL 多线程宿主、字符串脚本运行等验证程序。
版本演进
- v1-v3 — 可行性验证,广泛语义覆盖
- v4 — 转向"编译为 C + TCC 内存编译执行"方案
- v5 / demo5 — 恢复被裁剪能力,建立完整语言基础
- DEMO6(当前) — RC0 发布候选,完整四阶段管线,515 个标准库函数,完整 OOP + 泛型约束 + async + C 互操作,21 条风险全部收口