本文件滚动记录 BitUI 的阶段性进展、里程碑与下一步计划。
- M1 最小可运行示例(counter)与基础编译管线雏形
- M2 IR 设计与核心优化 Pass(DCE、常量折叠、指令提升)
- M3 局部响应式信号原型与调度器
- M4 Playground 编译输出可视化与调试体验
- M5 基准测试基线与对比报告
- 仓库元信息与脚本:
.editorconfig、.gitattributes、.gitignore、LICENSE、push.bat - 顶层说明:
README.md(目标/设计/结构/路线图/开发进度) - 子目录占位:
benchmarks/、compiler/、design/、docs/、examples/、playground/、runtime/、scripts/、spec/各README.md - 设计文档:编译流水线 Mermaid 图(
design/README.md) - 原生运行容器雏形(
native/):- Win32 窗口创建,Vulkan Instance/Surface
- 设备选择与逻辑设备,图形/呈现队列获取
- 交换链创建(格式/模式/尺寸选择)
- 渲染资源:ImageView、RenderPass、Framebuffer、命令池/命令缓冲
- 双缓冲同步:信号量与栅栏、帧轮转
- 基础清屏 + Present 循环
- 交换链重建:窗口尺寸变化/子优状态处理
- IR 草案与最小 Pass 集(DCE/常量折叠/指令提升)
- 信号系统原型与更新调度(
runtime/) - 原生运行容器增强:图形管线(三角形)、资源上传、事件桥接、文本基线
playground/编译输出可视化(AST/IR/Pass 日志)benchmarks/基线场景与采集脚本
- 完善解析器以支持完整的BitUI语法
- 实现LLVM IR生成和优化
- 集成信号系统和响应式更新
- 添加更多示例和测试用例
- 词法分析器 (
lexer.h/cpp): 支持BitUI语法词法分析,包括信号引用($identifier) - 语法分析器 (
parser.h/cpp): 递归下降解析器,支持组件、信号、属性解析 - AST定义 (
ast.h/cpp): 完整的抽象语法树节点定义和访问者模式 - 错误处理 (
errors.h/cpp): 统一的错误报告和诊断系统 - 编译器主类 (
compiler.h/cpp): 编译流程编排和LLVM集成 - LLVM代码生成 (
llvm_codegen_simple.cpp): 简化的LLVM IR生成器 - 构建系统 (
CMakeLists.txt,build.bat): 完整的CMake配置和Windows构建脚本 - 示例文件 (
examples/):simple.bitui和counter.bitui示例
- 构建系统: ✅ 完全可用,支持Windows/Linux构建
- LLVM集成: ✅ 成功链接LLVM 21.1.3,支持IR生成
- 词法分析: ✅ 支持BitUI语法,包括信号引用语法
- 语法分析: ✅ 支持组件、信号、属性解析,部分语法支持
- AST构建: ✅ 完整的AST节点定义和访问者模式
- 错误处理: ✅ 统一的错误报告系统
- 命令行接口: ✅ 完整的命令行参数支持
compiler/
├── include/ # 头文件
│ ├── ast.h # AST节点定义
│ ├── lexer.h # 词法分析器
│ ├── parser.h # 语法分析器
│ ├── llvm_codegen.h # LLVM代码生成
│ ├── compiler.h # 编译器主类
│ └── errors.h # 错误处理
├── src/ # 源文件
│ ├── ast.cpp # AST实现
│ ├── lexer.cpp # 词法分析实现
│ ├── parser.cpp # 语法分析实现
│ ├── llvm_codegen_simple.cpp # 简化LLVM代码生成
│ ├── compiler.cpp # 编译器实现
│ ├── errors.cpp # 错误处理实现
│ └── main.cpp # 主程序入口
├── examples/ # 示例文件
│ ├── simple.bitui # 简单示例
│ └── counter.bitui # 计数器示例
├── build/ # 构建输出
│ └── Release/ # 发布版本
│ ├── bitui.exe # 编译器可执行文件
│ └── bitui_compiler.lib # 编译器库
├── CMakeLists.txt # CMake配置
├── build.bat # Windows构建脚本
└── README.md # 项目文档
- 编译器可执行文件: ✅
bitui.exe(24MB) 成功构建 - 编译器库: ✅
bitui_compiler.lib(827KB) 成功构建 - LLVM链接: ✅ 成功链接LLVM 21.1.3
- 命令行接口: ✅ 完整的参数支持和帮助信息
- 2025-10-10 (编译器模块完成)