Commit Graph

  • 6ebe551ee3 fix: AST_PARAMETER 增加数组元素类型字段 + 五子棋集成测试 main Serendipity 2026-06-07 18:48:04 +08:00
  • ee3f9e0bd0 chore: bump version to 0.8.0 v0.8.0 Serendipity 2026-06-07 18:29:59 +08:00
  • 6d5f8092a7 fix: for循环变量作用域 + 列表推导crash (两个已知bug) Serendipity 2026-06-07 18:03:25 +08:00
  • f5c0650a97 feat: 闭包变量捕获 — 环境结构体 + 堆分配 Serendipity 2026-06-07 15:24:35 +08:00
  • 06d80f441a feat: 闭包/lambda — 匿名函数表达式 Serendipity 2026-06-07 15:07:03 +08:00
  • c8da286d31 feat: in/out 参数 — out 关键字引用传递 Serendipity 2026-06-07 14:45:38 +08:00
  • 0a0667776a feat: const 编译期常量 — const N = 42; Serendipity 2026-06-07 14:26:59 +08:00
  • f7710ede9d feat: ?? 空值合并运算符 — a ?? b → if a!=0 {a} else {b} Serendipity 2026-06-07 14:18:48 +08:00
  • caf17e16fc feat: for step 步长 — for i in 0 to 10 step 2 { ... } Serendipity 2026-06-07 14:13:09 +08:00
  • 71208a87f4 feat: 多返回值 fn f(...) -> (T, U) { return (e1, e2); } Serendipity 2026-06-07 14:07:13 +08:00
  • 06c8773fac feat: 装饰器 #[attr] 语法 — parser 解析并跳过 Serendipity 2026-06-07 14:00:42 +08:00
  • 443b22bdf1 feat: 列表推导式 [for x in arr: expr] — parser+sema+codegen Serendipity 2026-06-07 13:58:54 +08:00
  • 0088347576 feat: defer 延迟执行 — defer { stmts; } 在 return 前按 LIFO 执行 Serendipity 2026-06-07 13:51:10 +08:00
  • e60021b684 docs: language-reference.md v0.7 全面重写 Serendipity 2026-06-07 13:38:47 +08:00
  • 1aafde0fd9 chore: 版本 v0.7.0 Serendipity 2026-06-07 13:08:21 +08:00
  • 2247fa39f4 docs: CLAUDE.md v0.7 全面更新 — 架构/类型/限制/测试同步 Serendipity 2026-06-07 13:04:59 +08:00
  • c285a145c8 refactor: typeck.c 652→559 — 泛型单态化提取为 mono.c (97行) Serendipity 2026-06-07 13:00:10 +08:00
  • 82b0570869 refactor: codegen_expr switch→Visitor dispatch (12 handler) Serendipity 2026-06-07 12:59:18 +08:00
  • bcf6508c4c feat: use 语句 — use module::item 导入模块符号 Serendipity 2026-06-07 12:53:18 +08:00
  • a070883ae4 fix: sprintf→snprintf + strcpy→memcpy 缓冲区安全加固 Serendipity 2026-06-07 12:52:09 +08:00
  • 376738d7fc docs: 全面架构与代码审查报告 (2026-06-07) Serendipity 2026-06-07 12:40:43 +08:00
  • 35e2691cb7 chore: 删除自动化分析报告目录 Serendipity 2026-06-06 21:28:48 +08:00
  • b34ad17aad refactor: AST Visitor dispatch — sema analyze_expr switch→vtable Serendipity 2026-06-06 20:36:13 +08:00
  • 3733b41453 refactor: TypeTable 数据驱动 — promote/convert/numeric/comparable 统一查表 Serendipity 2026-06-06 20:31:32 +08:00
  • 66b170a27f docs: CLAUDE.md 反映 desugar pass + 文件行数更新 Serendipity 2026-06-06 20:20:50 +08:00
  • eaae0b1c62 refactor: 独立 desugar pass — match/guard/for/if-let/复合赋值去糖提取 Serendipity 2026-06-06 20:20:33 +08:00
  • f3cca30cca docs: CLAUDE.md 数据同步 — 197单元+36集成,架构图反映文件拆分 Serendipity 2026-06-06 20:16:51 +08:00
  • 6d1db585c4 refactor: sema.c + codegen.c 拆分,全部源文件 <800 行 Serendipity 2026-06-06 19:26:54 +08:00
  • 90d081c3fd fix: P0审查修复 P2补强 — parser.c 拆分 + 测试扩充 Serendipity 2026-06-06 18:57:07 +08:00
  • 466be76fd8 fix: P1审查修复 — error.c arena化 + Self类型解析 + trait查找加固 + 缓冲区安全 Serendipity 2026-06-06 17:09:28 +08:00
  • 17c19fd9b9 fix: P0审查修复 — CLAUDE.md数据更新 + load_module malloc→arena Serendipity 2026-06-06 16:54:23 +08:00
  • b3b3d285f9 feat: trait 接口系统 — trait Show { fn method } + extend Trait Struct { } Serendipity 2026-06-06 16:41:21 +08:00
  • 9169796b77 feat: 泛型单态化完成 — fn id<T>(x: T) -> T 全流水线通过 Serendipity 2026-06-06 16:25:18 +08:00
  • 350eeef3c5 feat: 泛型基础设施 — <T>解析 + 类型推断 (单态化 codegen 待补) Serendipity 2026-06-06 16:17:15 +08:00
  • fa734b8a23 feat: 模块系统 mod + pub — 多文件编译支持 Serendipity 2026-06-06 16:09:30 +08:00
  • e02cc7b1d6 feat: if let 语句 — if let Option::Some = expr { ... } Serendipity 2026-06-06 15:20:34 +08:00
  • 0e1f8c5795 feat: 枚举关联数据 ADT — enum Option { Some(i64), None } Serendipity 2026-06-06 14:21:43 +08:00
  • 0ec3c3d65f feat: 表达式作为值 — if/else 和 block 可产生值 Serendipity 2026-06-06 13:52:36 +08:00
  • 380b52930a docs: Token 计数修正 50→67 (AGENTS.md + CLAUDE.md) Serendipity 2026-06-06 13:33:39 +08:00
  • 031dedfb8e refactor: 拆分 sema analyze_expr 为 9 个辅助函数 + 调度器 Serendipity 2026-06-06 01:36:37 +08:00
  • de91886712 fix: CreateProcess 替代 system() 调 ld.lld,消除 shell 转义问题 v0.6.0 Serendipity 2026-06-05 22:07:53 +08:00
  • 39d8bad022 feat: 自包含安装包 — ld.lld + MinGW 库 (39MB, 零依赖) Serendipity 2026-06-05 22:01:01 +08:00
  • 1e161ecfff feat: NSIS 安装包脚本 (62MB, 含 LLVM+clang+lld) Serendipity 2026-06-05 21:51:22 +08:00
  • 143174ee4f refactor: 链接器从 gcc 改为 clang + lld(优先 clang→fallback gcc) Serendipity 2026-06-05 21:43:48 +08:00
  • 2baf762d82 docs: README/CHANGELOG/语言参考更新至 v0.6 Serendipity 2026-06-05 21:02:05 +08:00
  • 459d1e1e10 feat: 管道 |> + 字符串插值 \(expr) — P0 四特性收官 Serendipity 2026-06-05 20:59:00 +08:00
  • 6b6925b2b8 feat: 命名参数 draw_rect(width: 10, height: 20) Serendipity 2026-06-05 20:54:58 +08:00
  • c6e492662e feat: guard 语句 guard x >= 0 else { return -1; } Serendipity 2026-06-05 20:49:03 +08:00
  • 18172ca724 feat: 新增 i32 / u64 / char 类型 + 字符字面量 "'a'" Serendipity 2026-06-05 20:47:44 +08:00
  • 6fc599e6c2 feat: impl 关键字改为 extend Serendipity 2026-06-05 19:50:40 +08:00
  • 175f8a6658 feat: 数组类型语法 [T; N] 改为 T[N] 后置语法 Serendipity 2026-06-05 19:48:56 +08:00
  • ab4cc9a28b feat: let mut 改为 var 关键字声明可变变量 Serendipity 2026-06-05 19:47:00 +08:00
  • a28d33854c feat: for..in 范围语法 .. 改为 to 关键字 Serendipity 2026-06-05 19:44:26 +08:00
  • 9a256d9be1 docs: 测试计数更新 145→158 单元 + 23→24 集成 Serendipity 2026-06-05 19:39:12 +08:00
  • a45f7d8e2f feat: 数组支持 struct 元素类型 [Point; N] Serendipity 2026-06-05 19:38:48 +08:00
  • beac40fd74 test: match sema + codegen 单元测试,总断言 145→158 Serendipity 2026-06-05 19:36:26 +08:00
  • a0a78de26e docs: 补充数组初始化 = arr 语法说明 Serendipity 2026-06-05 19:31:46 +08:00
  • 095604dc9f docs: CLAUDE.md 语言设计哲学增加L化适配原则 Serendipity 2026-06-05 19:07:54 +08:00
  • 6bd6eaae47 docs: CLAUDE.md 语言设计哲学 + 多语言特性分析 Serendipity 2026-06-05 18:59:02 +08:00
  • 29648ef110 docs: L Language 语言参考手册 (language-reference.md) Serendipity 2026-06-05 18:45:58 +08:00
  • 5a0bf60698 docs: CHANGELOG v0.4/v0.5 + README/CLAUDE 版本刷新 Serendipity 2026-06-05 18:42:24 +08:00
  • a15cd9d56e feat: match 表达式 (P1 #8 收官) Serendipity 2026-06-05 14:41:52 +08:00
  • 9f6e695ba8 feat: struct方法 impl (P1 #9) Serendipity 2026-06-05 14:30:24 +08:00
  • 2923e7574d feat: 数组+索引 [T;N], arr[i] (P1 #6) Serendipity 2026-06-05 14:19:01 +08:00
  • 5237398245 feat: 枚举 enum (P1 #7) Serendipity 2026-06-05 14:01:47 +08:00
  • ab88ea2753 feat: 类型别名 type alias (P1 #10) Serendipity 2026-06-05 13:54:58 +08:00
  • da9a7065dd feat: struct参数/返回值 + SourceLoc + 测试补全 Serendipity 2026-06-05 13:29:31 +08:00
  • 4046ab1875 refactor: tok_is_type 统一 + 架构改进文档 Serendipity 2026-06-05 13:13:51 +08:00
  • a7fca5964e fix: 5项立即修复 + 2项尽快修复 Serendipity 2026-06-05 13:12:00 +08:00
  • af0725caca fix: 全面代码审查 — 修复 3 CRITICAL + 4 HIGH 问题 Serendipity 2026-06-05 13:05:27 +08:00
  • 1d4fb27170 feat: 自动内存管理 — 作用域级 RAII for str Serendipity 2026-06-05 12:43:00 +08:00
  • b390d390f3 feat: 结构体 struct — 最后一项 P0 功能 Serendipity 2026-06-05 12:21:22 +08:00
  • 620cec4d57 docs: CHANGELOG 更新 v0.3 — for循环 + 测试补全 Serendipity 2026-06-05 08:33:40 +08:00
  • 382cd089d0 test: sema + codegen 测试补全 — 86 单元测试 Serendipity 2026-06-05 06:34:45 +08:00
  • 8144f1bfd7 feat: for 循环 + range (for i in start..end) Serendipity 2026-06-05 04:42:44 +08:00
  • 72a971e5bf test: 新增 codegen 层单元测试 (7 tests) Serendipity 2026-06-05 02:40:58 +08:00
  • d5a94d45cb feat: 复合赋值 += -= *= /= + CHANGELOG 更新 Serendipity 2026-06-05 02:40:05 +08:00
  • 9e41b09318 fix: str+str 运行时拼接 — malloc + strlen + memcpy Serendipity 2026-06-05 02:36:23 +08:00
  • 9ff2990724 refactor: LLVM目标初始化解耦 — 抽取 target.h/c Serendipity 2026-06-05 00:49:08 +08:00
  • 9a53d97274 feat: 字符串类型 + 字面量 + print_str Serendipity 2026-06-05 00:47:53 +08:00
  • bd02a4989e feat: let mut + 赋值语句 — while 循环可修改变量 Serendipity 2026-06-05 00:42:50 +08:00
  • f8c5e18188 fix: 技术债修复 — codegen malloc→arena + .codegraphignore Serendipity 2026-06-05 00:37:54 +08:00
  • 3b7bab1e1b feat: L Language v0.1 编译器完整实现 Serendipity 2026-06-05 00:26:59 +08:00