Snow 编程语言 v0.6.0 发布: 支持 continue/break、取模运算与模块功能增强


更新内容

新增功能

  • 支持模块内函数调用自动补全当前模块前缀,提升模块内函数引用的便捷性。
  • 编译器补全对取模运算符 % 的完整支持,增强算术表达能力。
  • 新增对 continue 语句的支持,完善循环控制结构。
  • 新增对 break 语句的支持,实现循环中断能力。
  • 支持 globals 关键字及模块全局变量声明,增强模块作用域管理。
  • 整数和浮点数取余运算指令支持,进一步完善运算指令集。
  • 新增多项测试用例、演示 Demo(Demo15-18)、Bug 测试用例(Bug2-5),覆盖更多场景。
  • 支持函数调用和模块处理机制的进一步改进,提升灵活性。

性能和稳定性改进

  • 优化数字字面量的语义分析及错误提示,提升溢出检测准确性与易用性。
  • 优化数字字面量相关代码,修复溢出、边界条件等问题,提升健壮性。
  • 重构 RetCommand 并添加日志记录,增强指令调试与追踪能力。
  • 移除 VMCodeGenerator 中的冗余字段,简化生成器结构。
  • 优化变量声明语句、循环变量作用域处理逻辑,修复嵌套循环下变量作用域问题。
  • 修复变量声明初始化寄存器别名导致内外层循环互相影响的问题,保证作用域隔离。
  • 优化部分输出与日志格式,提升调试和输出体验。

开发者体验提升

  • IDEA 配置优化与运行配置文件完善,减少开发配置干扰。
  • 多个演示用例及测试代码重构与调整,便于测试和演示。
  • 移除代码覆盖率配置,优化开发流程。
  • 统一命令行 debug 标志为 --debug,提升命令一致性。
  • 代码结构优化,部分枚举和模式定义重构,整体规范性提升。
  • 完善文档和代码注释,增强核心类、命令类的说明与可读性。

Bug 修复

  • 修复数字字面量溢出、类型后缀、位宽符号间空白符的判定问题。
  • 修复 NumberTokenScanner 误判与死循环问题,增强词法健壮性。
  • 修复变量作用域与寄存器别名问题,避免内外循环变量冲突。
  • 修复语法分析、词法分析等若干边界条件 Bug。
  • 修复函数调用和模块内符号自动补全相关问题,确保符号解析准确。

文档改进

  • 调整和完善方法文档主描述,提升参数显示与注释效果。
  • 更新命令行子命令及相关文档,确保文档同步。

如遇到使用问题,欢迎及时 提交 Issue


相關推薦

2025-06-29

更新内容 新增功能 SnowVM 指令集扩展:支持更多运算和比较指令,增强了虚拟机的功能。 CLI工具:新增了统一的命令行入口,可以方便地管理和生成项目结构。 64位整数支持:增加对64位整数比较的支持,使得语言更加灵

2025-06-07

的虚拟机与编译器,专为大型语言模型(LLM)量身定制的编程语言。项目链接 1.2 背景与目标读者 自 ChatGPT 3.5 诞生以来,越来越多的个人和企业将 LLM 生成的代码融入日常开发与自动化。然而,实践证明:LLM 生成的代码虽然“

2025-06-15

更新内容 新特性 支持一元逻辑取反 !x 支持一元数值取反 -x 比较运算符(>, <, >=, <=, ==, !=)统一返回 boolean 完善 AST JSON 序列化输出 修复 解决 LXorCommand 可能被截断的问题 补齐 end function 后的空行,防止解

2025-06-13

更新内容 Bug 修复   - 修正比较运算映射时误用 IC_EQ 的问题,已改为 IC_E   - 将 loop 语句和 if 语句中原本使用 int 表示条件的方式,统一改为 boolean 新功能   - 增加 boolean 基础类型支持   - 实现对布尔变量的声

2025-07-12

更新内容 新增功能 增加 IR 对类型转换指令的支持,补充基本数值类型转换相关指令,实现类型间全转换能力(如 long64/float32/double64/short16/byte8 等互转)。 性能和稳定性改进 优化函数调用指令逻辑,支持 void 类型函数

2025-07-08

更新内容 新增功能 词法分析器全面状态机化:各类 TokenScanner(字符串、操作符、换行、标识符、注释、数字)重构为基于有限状态机(FSM)实现,提升准确性与可维护性。 支持行内注释解析:新增行内注释的解析能力。

2025-04-08

理引擎,使其成为一个强大的 AI 部署解决方案。 上周发布的 0.6.0 包括如下变化: 通过 OpenAPI 支持外部工具服务器:立即将 Open WebUI 连接到任何兼容 OpenAPI 的 REST 服务器 - 提供与数千种开发人员工具、SDK 和 SaaS 系统的即时

2023-04-14

浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。为 WebAssembly 而生的通用编程语言。 更新内容 增加凹语言中文语法 初步支持接口方法调用 包支持混入汇编代码 删除 testing 实验性的包, 单元测试增加

2023-11-25

Xline v0.6.0 现已发布。Xline 是一个基于 Curp 协议的,用于管理元数据的分布式 KV 存储;旨在实现高性能的数据访问和跨数据中心场景下的强一致性。 v0.6.0 新版本功能、修复问题以及重构如下: 新功能 为 CUPR 共识协议添

2023-08-03

,这是一门指令式、通用、多范式、静态类型、编译型的编程语言。 公告写道: 2.0 是 Nim 的一次进化,新版本的一项重要特性是将 ORC 内存管理作为默认设置,以及许多其他新功能和改进。 Nim 是一种适合各种用途的编程

2023-10-14

CL 是一个开源的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单

2023-07-18

CL 是一个开源的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单

2023-08-11

CL 是一个开源的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单

2022-06-08

1.0 已发布,这是一门适用于工程、STEM 教育和数据科学的编程语言。主要特性包括: 静态类型语言。 与 Go 完全兼容。 脚本化的风格,以及比 Go 更易于阅读的数据科学代码。 支持字节码后端和 Go 代码生成。在字节