Commit Graph
100 Commits
Author SHA1 Message Date
zzy fc2d8f8db4 stage2 修复语义问题 2026-10-08 22:46:31 +08:00
zzy 76f980654c stage2 修复大量AI生成的风格问题 stage1 修复对于vm abi的错误生成 2026-10-03 15:05:55 +08:00
zzy 0e38858785 stage2 支持左值的引用绑定 2026-09-29 23:00:24 +08:00
zzy 40cffa9cb5 stage0 新增内存复制指令 重构vm交互 2026-09-29 21:11:15 +08:00
zzy 0b8f649818 stage2 修复全局变量未完成的问题 提供错误处理解析 2026-09-25 13:46:07 +08:00
zzy c0a86ea552 stage0 重构vm使其依赖自己的地址空间不再共用宿主机 修改vm的ABI 修正相关nob构建问题 2026-09-22 23:12:15 +08:00
zzy fae017b52d stage2 解决类型重复导入的问题 2026-09-20 18:35:21 +08:00
zzy 9ecb92cb03 stage2 迁移nob 修复nob的问题 继续修复类型导入问题 2026-09-20 18:24:25 +08:00
zzy 70085355db stage2 解决类型重复导入的问题 2026-09-20 18:07:47 +08:00
zzy d10578d267 stage2 解决类型重复导入的问题 2026-09-20 18:03:56 +08:00
zzy 51d408d524 stage2 提供c后端 提交stage1的测试 2026-09-20 17:56:11 +08:00
zzy 846f441e3a stage2 大量优化代码使其自举编译时间大幅缩短 2026-09-20 09:33:20 +08:00
zzy e02b0c633a stage2 提供近乎完整的功能但出现严重性能问题 添加stage0的原生性能记录 stage1添加更多内置函数 nob重构代码使其更加健壮 2026-09-19 18:08:43 +08:00
zzy b5a7a811b3 stage2 迁移ast解析器 stage1 防止错误死循环 2026-09-18 22:32:57 +08:00
zzy bb9d0a9f18 stage2 提供词法分析器通过与stage1的差异测试 stage1提供数组到切片的隐式转换 2026-09-18 19:40:10 +08:00
zzy c30143609a stage2 更多的工具库 2026-09-18 11:17:33 +08:00
zzy b3e38ba7e4 stage2 更多的工具库 stage1 修复问题 2026-09-18 10:10:53 +08:00
zzy 16a1f030d4 stage2 更多的工具库 2026-09-17 22:32:36 +08:00
zzy 4141e7d574 stage2 更多底层函数 stage1 layout正确使用 内置函数重新编写 2026-09-17 22:03:23 +08:00
zzy fb0ff9b663 stage1 解决重构哈希 nob优化支持头文件缓存以及win下exe缓存 2026-09-17 20:55:21 +08:00
zzy 70ac7380e9 stage1 支持函数指针 2026-09-17 20:13:24 +08:00
zzy 73c9a40abd stage1 实现短路逻辑 2026-09-17 19:37:33 +08:00
zzy b8e2bba140 stage2 更多的工具函数 stage1支持更多的内置函数 2026-09-17 18:47:56 +08:00
zzy 1a6df012cd stage2 提供sys包装 解决stage1的bug 2026-09-17 17:25:55 +08:00
zzy 5de4937637 stage1 解决defer实现的缺陷 2026-09-17 16:44:50 +08:00
zzy 2594a81034 stage1 解决@self无法在文件内直接使用的问题 2026-09-17 16:30:38 +08:00
zzy acfbbeee8b stage1 支持更多语法 修复更多问题 暂时stage1功能结束 2026-09-17 13:37:59 +08:00
zzy 54425a50c7 stage1 重构代码 语法上重新实现解包语法 2026-09-17 00:33:03 +08:00
zzy 2a84b61e3d stage1 大量重构 2026-09-16 20:09:24 +08:00
zzy e4347cc3ea stage1 重写进行代码设计并重构 提供diag替换老旧错误处理 2026-09-16 15:21:59 +08:00
zzy 7cbe2d2b9a stage1 重制类型转换系统 修复问题 提供更多表达式 2026-09-16 11:36:29 +08:00
zzy f6a0bce9f0 stage1 vm abi更新 修复更多问题 2026-09-16 10:35:36 +08:00
zzy 09d05e3a34 stage1 指针计算类型的错误修复 as运算符优先级的修改 ir2vm的bug修复 2026-09-15 21:24:58 +08:00
zzy 06f3884c30 stage1 支持指针运算 提供新的类型检查计算 2026-09-15 19:11:01 +08:00
zzy be41a82d55 stage1 支持defer 支持null 支持指针运算 支持*any指针 2026-09-15 11:08:44 +08:00
zzy 983746c797 stage1 支持label break, continue 2026-09-14 19:35:58 +08:00
zzy 3175e04e6e stage1 支持tuple 修复悬垂指针问题 2026-09-14 19:01:33 +08:00
zzy a621e34d51 stage1 支持任意顺序声明 使用eval求值的机制 2026-09-14 18:11:58 +08:00
zzy a1e684f6d4 stage0 修复部分问题 2026-09-14 16:01:33 +08:00
zzy 5073c2b3ea stage1 支持聚合类型方法 2026-09-14 15:36:43 +08:00
zzy 9bdb7f892e stage1 支持结构体初始化 2026-09-14 10:09:32 +08:00
zzy 72ae6d6994 stage1 使用切片表达字符串而非C字符串 提供属性系统 2026-09-13 22:26:41 +08:00
zzy a64a96f9a4 stage1 实现ir2vm 修复nob test命令的构建问题 2026-09-12 18:51:10 +08:00
zzy 87d9b7ea34 stage1 实现并修复ast2ir的核心功能的正确性 2026-09-12 09:46:56 +08:00
zzy 49ccdec3dd stage1 实现更多ast2ir 修复bug 提供内置操作 2026-09-11 19:26:48 +08:00
zzy ab6e99c958 stage1 重新实现ast2ir 2026-09-10 23:20:09 +08:00
zzy bcd26d3021 stage1 实现部分sema 解析数组 2026-09-09 20:21:49 +08:00
zzy 8aa7a89c7e stage1 基于新的ast实现部分sema 2026-09-09 10:47:29 +08:00
zzy 98b35a98e3 stage1 新的ast结构 使用pest描述语法 2026-09-08 13:14:29 +08:00
zzy 34df303b56 stage1 实现部分ast2ir内容并重构stage0 引入并重构ir2vm 构建系统修改部分 2026-08-28 13:01:19 +08:00
zzy 3d57260f3f stage1 实现部分ast2ir内容 2026-08-26 14:55:47 +08:00
zzy f1d86b6e34 stage1 更多的语义以及类型构造器 2026-08-22 19:35:01 +08:00
zzy 0f40de43a1 stage1 更多的语义及其附属基础设施 2026-08-20 19:51:08 +08:00
zzy d6113a5417 stage0 printf的格式化统一 展开strdup 2026-08-19 21:42:06 +08:00
zzy c81a57dacb builder 更改构建方式从python换成nob.h 2026-08-19 21:38:41 +08:00
zzy b2e6ade484 stage1 继续重构sema 提供更多dbg宏用于日志记录 2026-08-19 21:37:40 +08:00
zzy 994a35a942 stage1 重构语义分析 ast2ir ir部分 2026-08-18 11:22:15 +08:00
zzy 4d9509c167 stage1 重构词法分析 2026-08-16 23:23:56 +08:00
zzy d3c63dab5c stage0 重命名 stage1 ast重新整理 2026-08-16 10:51:45 +08:00
zzy 78d767bf21 stage0 修复windows函数没有进入宏包装 2026-08-14 20:42:11 +08:00
zzy 2a7db9e48c stage0 重命名字段 修复windows函数没有进入宏包装 2026-08-14 20:41:09 +08:00
zzy c06d7247bb stage1 人工重构ast以及type部分 修复vm的UB行为 2026-08-14 18:10:58 +08:00
zzy b0e6b406ac stage1 人工重构ast.c 2026-08-12 10:29:38 +08:00
zzy 314100afbc stage1 初步实现 2026-08-06 19:26:30 +08:00
zzy a56b4cbb70 stage0 支持类gdb的调试vm手段 2026-08-06 09:11:15 +08:00
zzy ca7cf221c8 stage1 修复设计问题 实现ir2vm 2026-08-05 19:13:48 +08:00
zzy 2ccee5f1cf stage1 修复设计问题 实现ast2ir 2026-08-05 08:14:23 +08:00
zzy 8ac59dfaa1 stage1 完成sema词法 2026-08-04 10:20:57 +08:00
zzy 74d7376039 stage1 完成ast 定义sema 2026-08-03 12:39:28 +08:00
zzy a4ec5656d2 stage1 完整ast 部分ir 定义 2026-08-01 22:48:42 +08:00
zzy b43042c88d stage1 重构代码 2026-08-01 21:15:47 +08:00
zzy a77eade06f stage0 更改名称spl_ir -> spl_mcode spl_cli提供debug模式 提供临时语言规范 2026-07-29 12:05:18 +08:00
zzy 89d4bae8db stage1 修复错误 提供类型检查 2026-07-25 22:48:35 +08:00
zzy 02095524b1 stage1 修复错误 提供类型检查 2026-07-25 10:28:24 +08:00
zzy da9dae734c stage1 修复错误 提供类型检查 2026-07-22 18:04:35 +08:00
zzy a2d5dd9ce8 stage1 整理代码 修复错误 2026-07-21 20:00:19 +08:00
zzy 7c5bb41e09 stage1 整理代码 提供更多错误信息 2026-07-21 09:56:19 +08:00
zzy 459b6188a9 stage1 - 全面重构 stage1 编译器架构:类型系统(arena + items)、IR 发射层(spl_emit.h/c)、统一所有 emit 调用点。
- 实现 as 类型转换运算符、修复 &&/|| 短路求值 bug。
- 在 splc1.spl 中实现 Vec/Map/Emit 基础库(~50 个方法)。
- 修复实例方法调用中 self 参数被错误丢弃的 bug。
2026-07-20 20:53:41 +08:00
zzy 21f35b30fa stage1 重构代码 2026-07-20 12:10:55 +08:00
zzy ab63c8ed90 stage1 修复vm 提供简单参数检查 修复聚合类型bug 2026-07-14 22:30:19 +08:00
zzy f7f71c5f52 stage1 修复bug 2026-07-13 21:50:28 +08:00
zzy b67edc5cee stage1 修复类型体内部函数前向引用时 CALL 地址错误 2026-07-12 22:16:17 +08:00
zzy 1ceda90207 stage1 修复类型重复解析 修复嵌套结构体字面量无限循环 2026-07-12 14:20:41 +08:00
zzy 9b9b25ce0f stage1 禁止隐式调用 修复bug 2026-07-12 11:43:27 +08:00
zzy 118c153280 stage1 优化重构代码 2026-07-12 10:01:57 +08:00
zzy f1b4225c92 stage1 优化重构代码 2026-07-11 23:18:06 +08:00
zzy 53ae30f1ca stage1 重制18测试用例替换成match 完成现有全部测试 2026-07-11 21:24:52 +08:00
zzy 147f26e063 stage1 修复bug 删除递归测试 2026-07-08 11:45:45 +08:00
zzy 463177d3be stage1 修改部分测试 完成17-19测试 2026-07-07 12:11:49 +08:00
zzy 1df3e3bcb4 stage1 将数组和聚合类型使用byte offset而不是slot idx 2026-07-07 11:38:31 +08:00
zzy 3cf11f922e stage1 优化代码 完成16测试 2026-07-07 10:40:30 +08:00
zzy 69cea030dc stage1 完成15测试 2026-07-06 21:26:27 +08:00
zzy 0892c084ee stage1 完成14测试 2026-07-06 15:18:17 +08:00
zzy ad473f245c stage1 完成11-13测试 2026-07-06 13:00:55 +08:00
zzy 0182b8ed5c stage1 完成09,10测试 2026-07-06 10:52:31 +08:00
zzy 777b6b42d1 stage1 完成07,08测试 2026-07-06 10:44:01 +08:00
zzy 5dadf6d6ee stage1 重构到 USIZE, 使得 vm 支持 usize, isize 2026-07-06 00:07:39 +08:00
zzy 67c8a137dd stage1 实现06测试 2026-07-05 22:47:00 +08:00
zzy e2e0ebc21f stage1 重构测试且成功00-05 2026-07-05 21:45:43 +08:00
zzy 51d8510b79 stage1 部分功能测试00,01,02,06成功 2026-07-05 18:23:33 +08:00