Releases: TantrixAuto/yantra
Releases · TantrixAuto/yantra
Release list
v0.5.1
Bug Fixes
- Fixed a variable-name collision in generated
dump()methods: a rule variable named the same as an internal parameter (e.g.p) could produce broken generated code
Improvements
- Documented the generated file's structure (AST, walkers, parser, lexer, interface class, optional
main()) - Documented
go's automatic top-down traversal,skip(), and manual traversal mode - Documented that
%functionreturn types can be any C++ type, not just primitives - Documented that rule variable names must not collide with
go,skip,%members, or%functionnames
Installation
- Windows: extract
ycc-v0.5.1-windows-x86_64.zip, copyycc.exeto anywhere on the PATH - macOS: extract
ycc-v0.5.1-macos-arm64.tar.gz, copyyccto anywhere on the PATH - Linux: extract
ycc-v0.5.1-linux-x86_64.tar.gz, copyyccto anywhere on the PATH
v0.5.0
Features
- Added C++23 support
- Implemented
%enable_logpragma for per-source (lexer/parser/generator) debug logging - Implemented
%class_membersand 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
_findSmallestSupersetto pick the smallest match, not the first - Fixed a use-after-free error and a recursive-rule-handling bug
- Fixed
std::print/std::printlnportability on Apple Clang and MSVC
Installation
- Windows: extract
ycc-v0.5.0-windows-x86_64.zip, copyycc.exeto anywhere on the PATH - macOS: extract
ycc-v0.5.0-macos-arm64.tar.gz, copyyccto anywhere on the PATH - Linux: extract
ycc-v0.5.0-linux-x86_64.tar.gz, copyyccto anywhere on the PATH
2026-01: January Release
Features
- Support multiple walkers in command line options
Improvements
- Additional functions in TextWriter
- Use CMAKE_PARSE_ARGUMENTS in .cmake file
Bug Fixes
- Fixed indentation issue
- Remove redundant lines of code from walker
Installation
- Windows: Copy
ycc.exeto anywhere on the PATH - OSX: Rename
ycc.osxtoyccand copy to anywhere on the PATH - Linux: Rename
ycc.linuxtoyccand copy to anywhere on the PATH
2025-12: December release
Features
- implemented inline/external interfaces: A walker can be implemented in a separate .cpp file
- implemented %lexer_include pragma: A lexer_mode can be included inside one or more other lexer_modes
- Added quickstart tutorial by @rajch: Follow the steps to get started
Improvements
- improved error reporting
- improved auto-traverse performance
- error checking for duplicate rules
Bug Fixes
- Fixed stringify error
- Fixed %namespace error
- Fixed separate (non-Amalgamated) main() issue
Installation
- Windows: Copy
ycc.exeto anywhere on the PATH - OSX: Rename
ycc.osxtoyccand copy to anywhere on the PATH - Linux: Rename
ycc.linuxtoyccand copy to anywhere on the PATH
2025-11-002: Patch Release
Features
- Implemented -t option in generated parser to print matched AST
- -t2 to print full AST tree
- -t1 to print AST as a single line S-Expression (for unit tests)
- Implemented gcc support
- Implemented --version command line parameter
Improvements
- Improved unit tests
- Improved readability of generated code
Bug fixes
- fixed #line numbering
- Fixed precedence issue
- Fixed epsilon issue
- fixed version number to 0.2.1
Installation
- Windows: Copy
ycc.exeto anywhere on the PATH - OSX: Rename
ycc.osxtoyccand copy to anywhere on the PATH - Linux: Rename
ycc.linuxtoyccand copy to anywhere on the PATH
2025-11-001
Features
- Implemented -t option in generated parser to print matched AST
- -t2 to print full AST tree
- -t1 to print AST as a single line S-Expression (for unit tests)
- Implemented gcc support
- Implemented --version command line parameter
Improvements
- Improved unit tests
- Improved readability of generated code
Bug fixes
- fixed #line numbering
- Fixed precedence issue
- Fixed epsilon issue
Installation
- Windows: Copy
ycc.exeto anywhere on the PATH - OSX: Rename
ycc.osxtoyccand copy to anywhere on the PATH - Linux: Rename
ycc.linuxtoyccand copy to anywhere on the PATH