Skip to content

Releases: CYJB/Cyjb.Compilers

1.0.23

Choose a tag to compare

@CYJB CYJB released this 28 Feb 18:58

特性

破坏性变更

  • 移除 SourceReader 的 SourceMark 相关 API,将 Drop 时自动回收内存改为通过 Free 手动回收内存。

1.0.22

Choose a tag to compare

@CYJB CYJB released this 04 Jun 17:11

修复

  • 修复 SourceReader 使用 StringView 时,IndexOf 结果错误的问题。

1.0.21

Choose a tag to compare

@CYJB CYJB released this 04 Jun 16:32

特性

  • 优化行列定位、SourceReader 和词法分析器的匹配性能。
  • 支持将调试信息输出到 Console。
  • SourceReader 支持 IndexOf 方法。

1.0.20

Choose a tag to compare

@CYJB CYJB released this 23 Mar 20:45

特性

修复

  • 修复使用模板时未正确生成 EOF 动作的问题。

1.0.19

Choose a tag to compare

@CYJB CYJB released this 20 Mar 20:12

特性

1.0.18

Choose a tag to compare

@CYJB CYJB released this 15 Mar 18:59

破坏性变更

  • 支持复用词法分析器和语法分析器,因此不再在 Factory 创建词法/语法分析器的地方传入源码,改为新增了 Load 方法。

1.0.17

Choose a tag to compare

@CYJB CYJB released this 14 Mar 19:21

特性

  • 词法和语法分析器支持 IDisposable 接口。

破坏性变更

  • 优化词法和语法分析器的性能,将 check 和 next 两个数组合并为一个。使用模板生成的地方需要重新触发生成。

1.0.16

Choose a tag to compare

@CYJB CYJB released this 15 Jan 16:10

破坏性变更

  • Token<T> 大小超过 256 bit,因此将它切换为 class;同时将 Text 从 string 切换为 StringView 来减少字符串复制。
  • 将 ParserNode<T>.Text 从 string 切换为 StringView。
  • 从 Token<T>、LinePositionSpan<T>、MissingTokenError<T> 和 UnexpectedTokenError<T> 中移除 LinePositionSpan 属性,如若需要用到可以从 SourceReader 中获取。

1.0.15

Choose a tag to compare

@CYJB CYJB released this 13 Jan 21:23
  • 更新依赖版本。

1.0.14

Choose a tag to compare

@CYJB CYJB released this 13 Jan 21:27

特性

  • 支持重写 CreateToken 方法。
  • 在使用 StringReader 读取源文件时,减少额外的字符串复制。
  • 支持在匹配当中拒绝当前状态,避免当前状态继续匹配更短的文本。
  • 词法分析控制器的 Text 会随着 Source.Index 动态改变。