|
|
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 |
|
|
|
7c0a5e2524
|
docs: 优化 BreakStatementParser 类的文档注释
|
2025-07-29 11:23:01 +08:00 |
|
|
|
1eaaacdf8c
|
chore: 添加 Demo18运行配置
|
2025-07-29 11:22:04 +08:00 |
|
|
|
2f16dd2749
|
test: 添加 Demo18 项目
|
2025-07-29 11:21:09 +08:00 |
|
|
|
7395256b5a
|
feat: 添加 continue 语句支持
- 新增 ContinueNode、ContinueAnalyzer 和 ContinueStatementParser 类
- 在 AnalyzerRegistrar 中注册 continue 语句分析器
- 在 StatementBuilder 中添加 continue 语句的处理逻辑
- 更新 StatementParserFactory 和 TokenFactory 以支持 continue 关键字
|
2025-07-29 11:20:46 +08:00 |
|
|
|
187ec7e0e9
|
Merge branch 'main' into dev
# Conflicts:
# .run/Demo1.run.xml
# .run/Demo10.run.xml
# .run/Demo11.run.xml
# .run/Demo12.run.xml
# .run/Demo13.run.xml
# .run/Demo14.run.xml
# .run/Demo2.run.xml
# .run/Demo3.run.xml
# .run/Demo4.run.xml
# .run/Demo5.run.xml
# .run/Demo6.run.xml
# .run/Demo7.run.xml
# .run/Demo8.run.xml
# .run/Demo9.run.xml
# src/main/java/org/jcnc/snow/pkg/tasks/CompileTask.java
|
2025-07-29 09:21:03 +08:00 |
|
|
|
c334dd3e28
|
!46 feat: loop 循环实现了 break 关键字的支持
Merge pull request !46 from Luke/feature/add-break-operator
|
2025-07-29 01:17:42 +00:00 |
|
|
|
5b15b2d170
|
!45 feat: 编译器补齐对 取模运算符 % 的完整支持
Merge pull request !45 from Luke/feature/add-mod-operator
|
2025-07-29 01:17:32 +00:00 |
|
|
|
21e4668b16
|
chore: 更新测试配置文件
|
2025-07-28 18:02:36 +08:00 |
|
|
|
5b8d7b98f3
|
chore: 更新 Demo16 和 Demo17 的运行配置
|
2025-07-28 18:01:41 +08:00 |
|
|
|
63e8b0163a
|
test: 添加 Demo17
|
2025-07-28 18:01:06 +08:00 |
|
|
|
856d113b53
|
feat: 添加 break 语句支持
- 新增 BreakNode、BreakAnalyzer 和 BreakStatementParser 类
- 在 AnalyzerRegistrar 中注册 break 语句分析器
- 在 ASTPrinter 中添加 break 语句的打印处理
- 在 StatementBuilder 中实现 break 语句的 IR 构建逻辑
- 更新 StatementParserFactory 和 TokenFactory,支持 break 关键字
|
2025-07-28 18:00:41 +08:00 |
|
|
|
0cb2132e80
|
chore: 添加 Demo16运行配置
|
2025-07-28 17:35:49 +08:00 |
|
|
|
83b2122bd7
|
test: 添加 Demo16
|
2025-07-28 17:35:38 +08:00 |
|
|
|
9132c79c54
|
feat: 添加整数和浮点数的取余运算指令
- 在 IROpCode枚举中添加了 MOD_B8、MOD_S16、MOD_I32、MOD_L64、MOD_F32 和 MOD_D64 指令
- 更新了 IROpCodeMapper 映射,增加了取余运算的后端指令
- 修改了 IROpCodeMappings 类,添加了取余运算符与 IR 操作码的映射
|
2025-07-28 17:11:25 +08:00 |
|
|
|
12fc14e6e7
|
!44 feat: 实现 globals 关键字
Merge pull request !44 from Luke/feature/add-globals-keyword
|
2025-07-28 07:26:34 +00:00 |
|
|
|
52d811b6aa
|
test: 更新 Demo15 文件
|
2025-07-28 15:25:09 +08:00 |
|
|
|
e0ad945202
|
test: 更新 Demo15 文件
|
2025-07-28 13:43:27 +08:00 |
|
|
|
2e4b76dfe2
|
chore: 更新测试配置文件
- 在测试配置文件中添加了 Demo14 和 Demo15 两个新的测试用例
|
2025-07-28 13:42:22 +08:00 |
|
|
|
9fb2dfae51
|
chore: 在 Demo 运行配置中添加 --debug 参数
- 在所有 Demo 示例的 run.xml 文件中添加 --debug 参数
- 此修改有助于在调试时提供更多详细信息
|
2025-07-28 13:39:55 +08:00 |
|
|
|
21ca6e6cab
|
feat: 支持模块全局变量声明
- 在 ModuleNode 中添加 globals 字段,用于存储全局变量声明
- 实现 globals 区块的解析逻辑,支持全局变量的声明
- 更新 ASTJsonSerializer 以支持全局变量的序列化
- 修改 FunctionChecker 和 IRProgramBuilder 以支持全局变量
|
2025-07-28 13:39:33 +08:00 |
|
|
|
421eb0a0d9
|
chore: 修正 Debug 参数格式
|
2025-07-28 10:26:18 +08:00 |
|
|
|
f5a6443c8a
|
refactor: 将调试标志从 -debug 改为 --debug
|
2025-07-28 10:25:13 +08:00 |
|
|
|
8d992001f9
|
chore: 添加 Demo15运行配置文件
|
2025-07-28 10:00:41 +08:00 |
|
|
|
4081d7d928
|
chore: 移除代码覆盖率配置
|
2025-07-28 10:00:30 +08:00 |
|
|
|
16a5d8d6ac
|
test: 添加 Demo15 项目
|
2025-07-28 09:56:09 +08:00 |
|
|
|
9a4ebaadce
|
!43 release: 合并 v0.5.0 版本至 main 分支
Merge pull request !43 from Luke/release/v0.5.0
v0.5.0
|
2025-07-24 14:33:19 +00:00 |
|
|
|
a86fb4826d
|
docs: 更新操作码文档结构和内容
- 添加新的 Reference Control 分类
- 更新各分类的名称和描述,使其更加清晰
|
2025-07-24 13:31:34 +08:00 |
|
|
|
589b0a96b9
|
docs: 在 README 中添加支持我们的章节
|
2025-07-24 13:04:08 +08:00 |
|
|
|
f81dba0210
|
docs:优化 README 中语言特性描述
- 移除了代码关键字的 Markdown 格式加粗,保持一致性
|
2025-07-24 13:00:52 +08:00 |
|
|
|
688d6d7393
|
docs: 更新文档内容
- 移除加粗样式
- 更新 CLI 命令列表,增加 debug 命令
- 添加词法分析和语义分析的示例输出
- 调整编译流程和命令选项的描述
|
2025-07-24 12:59:26 +08:00 |
|
|
|
34e5de0454
|
chore: 在 Demo14运行配置中添加调试参数
- 在 Demo14.run.xml 文件中添加了 -debug 参数到 PROGRAM_PARAMETERS 选项
- 此修改便于在运行 Demo14 时进行调试
|
2025-07-24 12:45:01 +08:00 |
|
|
|
210fdb62f0
|
feat: 添加全局调试选项并更新相关功能
- 在 CLIUtils 中添加了全局调试标志集合,支持 "-debug" 和 "--debug" 选项
- 在 CompileTask 中更新了调试选项的处理逻辑,支持新的 "--debug" 标志
- 在 SnowCLI 中引入了 Mode 和 SnowConfig 类,以支持调试模式的配置
|
2025-07-24 12:36:56 +08:00 |
|
|
|
ebc322668e
|
chore: 更新运行配置并添加新配置
|
2025-07-24 12:36:28 +08:00 |
|