Snow 编程语言 v0.4.1 发布: 词法分析器全面状态机化


更新内容

新增功能

  • 词法分析器全面状态机化:各类 TokenScanner(字符串、操作符、换行、标识符、注释、数字)重构为基于有限状态机(FSM)实现,提升准确性与可维护性。
  • 支持行内注释解析:新增行内注释的解析能力。
  • LexerEngine 增加整体校验机制,增强代码静态检查。

性能和稳定性改进

  • 数字字面量扫描重构与优化,提升错误处理与边界判定能力。
  • CleanTask 逻辑优化,修复 build 目录被误删导致字节码无法写入等问题,行为更符合直觉。
  • 修复数字后空格跟非法后缀等导致的编译死循环问题。
  • 词法错误遇到即时报错,提升调试体验。

开发者体验提升

  • IDEA 配置优化,.water 文件与输出目录调整,避免根目录污染。
  • 代码风格统一,优化缩进、变量命名,移除冗余局部变量,提升可读性。
  • 测试配置完善,新增与优化多个测试用例及配置文件。

Bug修复

  • 修复数字字面量与类型后缀、位宽符号之间空白符判定问题。
  • 修复 NumberTokenScanner 误判及死循环问题。
  • 修复 clean & compile & run 时产物目录被误删导致无法输出字节码问题。
  • 修复语法分析、词法分析若干边界条件的错误。

文档改进

  • 优化方法文档主描述,提升参数显示效果。
  • 完善 LexerEngine、VMOpCode 等核心类的注释说明。

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


相關推薦

2025-06-07

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

2025-06-29

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

2023-10-14

VMware Greenplum 7 现已正式发布。Greenplum 是一个统一分析和人工智能 (AI) 平台,旨在帮助企业充分利用其数据资源。VMware Greenplum 核心是以开源 PostgreSQL 项目为基础,其独特之处在于将商业智能(BI)和人工智能(AI)功能无缝集成

2023-08-02

Ruff 刚刚发布了 v0.0.281 版本。 主要变化是提升词法分析器速度。据称 Ruff 的词法分析器现在比旧版本快 2-3 倍: group v0.0.280 v0.0.281 ----- -------- -------- lexer/large/dataset.py2.18665.9±5.64µs61.1 MB/sec1.00304.9±3.79µs 133.4 MB/sec lexer/numpy

2023-06-27

Xline v0.4.1 现已发布。Xline 是一个基于 Curp 协议的,用于管理元数据的分布式 KV 存储;旨在实现高性能的数据访问和跨数据中心场景下的强一致性。 v 0.4.1新版本功能、修复问题以及重构如下: 功能 增加观察进度通知机制

2025-07-12

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

2025-06-05

检查和转换。 一个直观的解决方案就是我们设计一种编程语言,在底层实现上与C++具有一致内存布局与调用约定,从而消除额外的转换开销。 同时,这种编程语言可以在C++嵌入,也支持即时编译,提升效率的同时,也拥有

2025-06-13

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

2025-06-15

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

2023-04-11

本中看到每个解释器的 GIL,Python 3.12 预计将于今年 10 月发布。 然而,实现每个解释器的 GIL 不是一个小任务。一般来说,在多个解释器之间共享的任何可变状态都必须由锁来保护。这意味着,如果要为每一个解释器建立一个单

2023-03-14

件进行扩展,借助 EControl 引擎还带来了功能丰富的语法分析器。 CudaText 1.187.0 正式发布,更新内容如下: change:选项“autocomplete_autoshow_chars”:避免像许多其他编辑器那样暂停计时 change:auto-completion popup:高度现在由项

2023-02-21

件进行扩展,借助 EControl 引擎还带来了功能丰富的语法分析器。 CudaText 1.185.0 正式发布,更新内容如下: 更改:状态栏:删除 msg prefix“[Read only]”,但将“RO”文本添加到单元格“selmode”(默认情况下,单元格“selmode”位

2023-09-13

nbsp; 最初设置 f-strings 限制是为了能够在不修改现有词法分析器的情况下将 f-strings 的解析实现到 CPython 中。但目前来看,这些限制反而带来了复杂性。比如: 在表达式部分中,无法使用引号字符来界定 f-strings >>> f'Ma

2022-10-02

KPlayer 是什么   kplayer为你提供最小化成本搭建视频推流功能的工具,最优的推流方案OBS或其他软件依赖与xWindow或图形化界面的需要,不适合在服务端与云服务器上进行部署。KPlayer无需依赖图形化界面,您可以使用任意一款