Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 04:00
· 2 commits to main since this release

Features

  • Added C++23 support
  • Implemented %enable_log pragma for per-source (lexer/parser/generator) debug logging
  • Implemented %class_members and text-string walker output mode

Improvements

  • Project version is now derived automatically from git tags
  • Added CI and a release workflow building Linux/macOS/Windows binaries
  • Rule precedence now defaults to a rule's last terminal, matching Yacc/Bison/Lemon convention
  • Indexed FIRST/FOLLOW rule lookups and other parser/lexer performance improvements
  • Rewrote the documentation: verified Quick Start, comparison vs Bison/ANTLR/tree-sitter, Known Limitations doc

Bug Fixes

  • Fixed LALR shift/reduce precedence comparison
  • Fixed crash when two or more overlapping keyword literals share a token
  • Fixed _findSmallestSuperset to pick the smallest match, not the first
  • Fixed a use-after-free error and a recursive-rule-handling bug
  • Fixed std::print/std::println portability on Apple Clang and MSVC

Installation

  • Windows: extract ycc-v0.5.0-windows-x86_64.zip, copy ycc.exe to anywhere on the PATH
  • macOS: extract ycc-v0.5.0-macos-arm64.tar.gz, copy ycc to anywhere on the PATH
  • Linux: extract ycc-v0.5.0-linux-x86_64.tar.gz, copy ycc to anywhere on the PATH