Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.

Commit fc0630c

Browse files
committed
更新CHANGELOG,记录了v0.3.1版本的重大更新,包括完整的面向对象编程(OOP)支持,新增类系统、对象操作、访问控制和类型系统扩展,同时修复了词法分析器相关问题,确保浮点数和链式调用的正确解析。
1 parent a6d98d0 commit fc0630c

File tree

1 file changed

+56
-1
lines changed

1 file changed

+56
-1
lines changed

CHANGELOG.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,61 @@
11
# CodeNothing 更新日志
22

3-
## [v0.3.1] - 2025-07-22
3+
## [v0.3.1] - 2025-07-23
4+
5+
### 🎉 重大更新:面向对象编程(OOP)支持
6+
7+
#### 新增功能
8+
- **完整的类系统**:支持类定义、对象创建、字段访问
9+
- 类定义语法:`class ClassName { ... };`
10+
- 字段定义:`public/private/protected fieldName : Type;`
11+
- 方法定义:`public fn methodName() : ReturnType { ... };`
12+
- 构造函数:`constructor(params) { ... };`
13+
14+
- **对象操作**
15+
- 对象创建:`new ClassName(args)`
16+
- 字段访问:`obj.field`
17+
- this关键字:`this.field = value`
18+
19+
- **访问控制**
20+
- `public` - 公共访问
21+
- `private` - 私有访问
22+
- `protected` - 保护访问
23+
24+
- **类型系统扩展**
25+
- 新增 `Type::Class(String)` 类型
26+
- 支持自定义类类型声明
27+
- 完整的类型推断和检查
28+
29+
#### 技术实现
30+
- **AST扩展**:新增 `Class`, `Field`, `Method`, `Constructor`, `Visibility` 等结构体
31+
- **解析器增强**:新增 `class_parser.rs` 模块,支持完整的OOP语法解析
32+
- **解释器核心**:新增 `Value::Object(ObjectInstance)` 类型,支持对象实例化
33+
- **表达式系统**:新增 `ObjectCreation`, `FieldAccess`, `This` 表达式类型
34+
- **语句系统**:新增 `ClassDeclaration`, `FieldAssignment` 语句类型
35+
36+
#### 测试文件
37+
- `test_oop_basic.cn` - 基础OOP功能测试
38+
- `test_oop_advanced.cn` - 高级OOP特性测试
39+
- `test_oop_complex.cn` - 复杂多类交互测试
40+
41+
#### 当前状态
42+
- ✅ 类定义和解析 - 完全支持
43+
- ✅ 对象创建 - 完全支持
44+
- ✅ 字段访问 - 完全支持
45+
- ⏳ 方法调用 - 待实现
46+
- ⏳ 构造函数执行 - 待实现
47+
- ⏳ 继承系统 - 待实现
48+
49+
这是CodeNothing语言发展史上的一个重要里程碑,标志着从过程式编程向面向对象编程的重大跃进!
50+
51+
### 修复
52+
- 修复:重写了词法分析器,以正确处理浮点数、链式调用(`.`)和多字符运算符。
53+
- 修复:现在可以正确解析 `variable.method()` 形式的链式调用,解决了“期望 ';', 但得到了 '.identifier'”的错误。
54+
- 修复:现在可以正确解析浮点数字面量(如 `0.2`),解决了“期望 ')', 但得到了 '.'”的错误。
55+
56+
---
57+
58+
## [v0.3.0] - 2025-07-22
459
- 修复:重写了词法分析器,以正确处理浮点数、链式调用(`.`)和多字符运算符。
560
- 修复:现在可以正确解析 `variable.method()` 形式的链式调用,解决了“期望 ';', 但得到了 '.identifier'”的错误。
661
- 修复:现在可以正确解析浮点数字面量(如 `0.2`),解决了“期望 ')', 但得到了 '.'”的错误。

0 commit comments

Comments
 (0)