zhangxun
|
87560db20d
|
refactor: 重构关键字
|
2025-08-04 14:49:39 +08:00 |
|
|
|
d54a2c59b6
|
!54 feat: 禁止全局变量重复声明
Merge pull request !54 from Luke/bugfix/fix-global-redeclare-error
|
2025-08-03 15:25:48 +00:00 |
|
|
|
4eb1aff553
|
Merge branch 'dev' into bugfix/fix-global-redeclare-error
|
2025-08-03 00:49:18 +08:00 |
|
|
|
80ee450b41
|
!53 feat: 支持一维及多维数组类型和字面量,重构调用指令生成逻辑
Merge pull request !53 from Luke/feature/add-support-for-array-syntax
|
2025-08-02 16:48:02 +00:00 |
|
|
|
f876f66414
|
chore: 添加 Bug6 运行配置文件
|
2025-08-03 00:39:18 +08:00 |
|
|
|
2188171b63
|
test: 添加 Bug6
|
2025-08-03 00:39:12 +08:00 |
|
|
|
7fab3cc662
|
feat: 检查全局变量重复声明
- 在 FunctionChecker 类中增加了对全局变量重复声明的检查
- 如果全局变量已经存在,则添加语义错误信息
|
2025-08-03 00:36:34 +08:00 |
|
|
|
62f2baab03
|
chore: 添加 Demo21运行配置
|
2025-08-03 00:16:35 +08:00 |
|
|
|
60388f6846
|
test: 添加 Demo21 项目
|
2025-08-03 00:16:17 +08:00 |
|
|
|
7c242d998f
|
test: 更新 Demo20
|
2025-08-03 00:08:56 +08:00 |
|
|
|
d3a85a24bf
|
feat: 支持数组元素赋值操作
- 新增 __setindex_x 系列内置函数,用于数组元素赋值
- 实现了对 byte、short、int、long、float、double、boolean 和引用类型数组的支持
- 修改了 ExpressionBuilder 和 StatementBuilder以支持数组赋值语法
- 更新了 VirtualMachineEngine 和 SyscallCommand 以支持新的 ARR_SET系统调用
|
2025-08-03 00:08:28 +08:00 |
|
|
|
477591303a
|
chore: 添加 Demo20运行配置文件
|
2025-08-02 19:53:55 +08:00 |
|
|
|
f4a269540a
|
chore: 更新测试配置文件
|
2025-08-02 12:33:27 +08:00 |
|
|
|
cedc77cbc6
|
test: 修改 Demo20
|
2025-08-02 12:33:14 +08:00 |
|
|
|
f61cfa5638
|
fix: 修复常量类型在 VM 中的表示问题
- 为浮点数添加 f 后缀,避免在 VM 中被错误解释为双精度浮点数
- 为长整数添加 L 后缀,保留类型信息
- 双精度浮点数和整数使用默认格式输出
- 支持数组常量的递归序列化,保留类型信息
- 优化了常量生成逻辑,提高了代码可读性和维护性
|
2025-08-02 12:32:28 +08:00 |
|
|
|
f6c877a7a1
|
refactor: 调整代码格式和注释
|
2025-08-02 10:51:14 +08:00 |
|
|
|
6083c0b024
|
test: 将 print 函数替换为 os.print
|
2025-08-02 10:50:22 +08:00 |
|
|
|
b093f8db72
|
feat: 支持数组下标访问类型分派
- 扩展 __index_i 函数支持 byte、short、int、long、float、double、boolean等类型
- 新增 __index_b、__index_s、__index_l、__index_f、__index_d、__index_r 函数- 优化数组元素访问的 IR 生成逻辑,根据类型选择合适的函数
- 更新 VM 层的 ARR_GET 子命令处理逻辑,支持多种数据类型
|
2025-08-02 10:49:54 +08:00 |
|
|
|
4a84f37b20
|
test: 更新 Demo19 示例
|
2025-08-01 23:34:57 +08:00 |
|
|
|
2a6fa8034c
|
chore: Demo19 添加调试参数
|
2025-08-01 23:34:40 +08:00 |
|
|
|
102e84bc01
|
feat: 重构并扩展调用指令生成逻辑
- 优化了 syscall、数组下标访问和普通函数调用的处理逻辑
- 新增对多维数组下标访问的支持
- 改进了字符串常量和寄存器的绑定机制
- 统一了参数加载和错误处理的代码
|
2025-08-01 23:33:31 +08:00 |
|
|
|
e5f23b77bd
|
chore: 添加 Demo19运行配置文件
|
2025-08-01 18:36:15 +08:00 |
|
|
|
028561fc4f
|
test: 添加 Demo19 项目
|
2025-08-01 18:36:06 +08:00 |
|
|
|
82f4ba1a6e
|
feat: 支持数组类型及数组字面量
- 新增 ArrayLiteralNode 表示数组字面量表达式节点
- 实现 ArrayLiteralAnalyzer 进行数组字面量的语义分析
- 添加 ArrayType 表示数组类型,并支持多维数组
- 修改 Context 类,增加对数组类型的支持
- 更新 DeclarationStatementParser,支持多维数组类型的声明
- 在 CallGenerator 中添加对特殊函数 __index_i 的处理,用于数组索引操作
|
2025-08-01 18:34:03 +08:00 |
|
|
|
f1069d6e5d
|
!52 release: 合并 v0.6.0 版本至 main 分支
Merge pull request !52 from Luke/release/v0.6.0
v0.6.0
|
2025-07-31 09:53:38 +00:00 |
|
|
|
ad11efe974
|
chore: 更新项目版本至 v0.6.0
|
2025-07-31 17:29:11 +08:00 |
|
|
|
736e088a91
|
!51 feat: 支持模块内函数调用自动补全为当前模块前缀
Merge pull request !51 from Luke/bugfix/fix-function-call
|
2025-07-31 06:35:25 +00:00 |
|
|
|
d77368bb13
|
chore: 添加 Bug5 运行配置文件
|
2025-07-31 14:17:46 +08:00 |
|
|
|
e1a7f3310c
|
test: 添加 Bug5 模块进行操作系统交互测试
|
2025-07-31 14:17:28 +08:00 |
|
|
|
b7e9c8121e
|
refactor: 重构 RetCommand 并添加日志记录
- 更新导入语句,明确导入模块
- 使用 LoggingUtils 替代 System.out.println 输出日志
- 添加换行符改善日志可读性
|
2025-07-31 14:11:09 +08:00 |
|
|
|
466b6ca2be
|
refactor: 移除 VMCodeGenerator 中的冗余字段
- 删除了 VMCodeGenerator 类中不再使用的 currentFn 字段- 将 currentFn 作为局部变量在 generate 方法中使用
- 这个改动简化了类的结构,减少了冗余代码
|
2025-07-31 12:48:10 +08:00 |
|
|
|
1cb5951e68
|
chore: 添加 Bug4 运行配置
|
2025-07-31 12:45:49 +08:00 |
|
|
|
1d73fc298e
|
test: 添加 Bug4 测试用例
|
2025-07-31 12:44:33 +08:00 |
|
|
|
156f2b76c4
|
test: 修改 Demo14 中的打印函数
|
2025-07-31 12:44:05 +08:00 |
|
|
|
8e26b57cde
|
test: 修改 Demo15 中的打印函数
|
2025-07-31 12:44:01 +08:00 |
|
|
|
be8e57ef60
|
test: 修改 Demo16 中的打印函数
|
2025-07-31 12:43:55 +08:00 |
|
|
|
2c3c4089f8
|
test: 修改 Demo17 中的打印函数
|
2025-07-31 12:43:48 +08:00 |
|
|
|
cadace165a
|
feat: 改进函数调用和模块处理机制
- 补充模块名以生成全限定函数名,增强模块间调用的准确性
- 重构 IRProgramBuilder 以更清晰地处理模块和函数
- 优化 VMCodeGenerator 和 VMProgramBuilder 以支持新的全限定名机制
|
2025-07-31 12:43:17 +08:00 |
|
|
|
15cd43a7d5
|
!49 enhancement: 优化数字字面量溢出的错误检测与提示
Merge pull request !49 from Luke/bugfix/int-literal-range-diagnostic
|
2025-07-30 16:29:58 +00:00 |
|
|
|
f3409f32ce
|
chore: 添加 Bug3 运行配置
|
2025-07-31 00:26:56 +08:00 |
|
|
|
1293ac1f83
|
refactor: 优化数字字面量的语义分析与错误提示
- 重构了类型推断逻辑,支持更精确的类型判断
- 实现了智能的错误提示策略,根据不同情况给出具体建议
- 优化了范围校验逻辑,提高了代码的健壮性
- 改进了代码结构和注释,提高了可读性和可维护性
|
2025-07-31 00:26:44 +08:00 |
|
|
|
9a2b5d5e4e
|
test: 移除 Bug3测试中的溢出声明
|
2025-07-30 12:03:57 +08:00 |
|
|
|
fdeaa36366
|
feat: 增强数字字面量的语义分析和错误提示
- 添加类型推断和范围校验逻辑,支持 byte、short、int、long、float 和 double 类型
- 实现溢出和格式错误的统一处理,提供详细的错误提示
- 优化代码结构,增加私有方法以提高可读性和可维护性
|
2025-07-30 12:03:41 +08:00 |
|
|
|
3dfc8b63c8
|
test: 添加整数溢出测试用例
|
2025-07-30 11:54:34 +08:00 |
|
|
|
30fa84604b
|
test: 重构 Bug2 示例程序
|
2025-07-30 11:50:58 +08:00 |
|
|
|
025ea75f08
|
!48 fix: 变量声明初始化寄存器别名导致内外层循环相互影响
Merge pull request !48 from Luke/bugfix/declare-init-aliasing-
|
2025-07-30 00:40:06 +00:00 |
|
|
|
c49b9f3df9
|
!47 feat: 引入了对 continue 语句的支持
Merge pull request !47 from Luke/feature/add-continue-operator
|
2025-07-30 00:39:58 +00:00 |
|
|
|
d932ba10f0
|
chore: 添加 Bug2 运行配置文件
|
2025-07-29 11:50:54 +08:00 |
|
|
|
f1699bfbbe
|
test: 添加嵌套循环变量作用域测试代码
|
2025-07-29 11:50:32 +08:00 |
|
|
|
63835a1cce
|
refactor: 优化变量声明语句的处理逻辑
- 澄清变量声明语句的处理流程,特别是带有初始值的情况
- 引入新分配的虚拟寄存器,确保变量和初始值表达式中的变量物理上独立
- 优化类型设置和作用域声明的顺序,提高代码的可读性和维护性
|
2025-07-29 11:50:06 +08:00 |
|