Skip to content

Latest commit

 

History

History
97 lines (86 loc) · 4.41 KB

File metadata and controls

97 lines (86 loc) · 4.41 KB

开发进度(详细)

本文件滚动记录 BitUI 的阶段性进展、里程碑与下一步计划。

里程碑

  • M1 最小可运行示例(counter)与基础编译管线雏形
  • M2 IR 设计与核心优化 Pass(DCE、常量折叠、指令提升)
  • M3 局部响应式信号原型与调度器
  • M4 Playground 编译输出可视化与调试体验
  • M5 基准测试基线与对比报告

已完成

  • 仓库元信息与脚本:.editorconfig.gitattributes.gitignoreLICENSEpush.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.bituicounter.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 (编译器模块完成)