trkleene 0.18.1

dotnet tool install --global trkleene --version 0.18.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local trkleene --version 0.18.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=trkleene&version=0.18.1
nuke :add-package trkleene --version 0.18.1

Replace a rule with an EBNF form if it contains direct left or direct right recursion.
This program is part of the Trash toolkit.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.18.1 545 11/11/2022
0.18.0 414 11/7/2022
0.17.0 487 9/11/2022
0.16.5 493 7/29/2022
0.16.4 515 6/13/2022
0.16.3 548 5/7/2022
0.16.2 524 5/6/2022
0.16.1 476 5/5/2022
0.16.0 611 4/13/2022
0.15.1 557 4/4/2022
0.15.0 538 3/20/2022
0.14.3 530 2/27/2022
0.14.2 514 2/18/2022
0.14.1 518 1/26/2022
0.14.0 546 1/26/2022
0.13.8 588 1/14/2022
0.13.7 510 1/13/2022
0.13.6 499 1/13/2022
0.13.5 508 1/12/2022
0.13.4 553 1/11/2022
0.13.3 478 1/10/2022
0.13.2 328 12/24/2021
0.13.1 383 12/24/2021
0.13.0 356 12/23/2021
0.12.0 405 12/6/2021
0.11.5 426 10/17/2021
0.11.4 380 10/17/2021
0.11.3 382 9/28/2021
0.11.2 406 9/26/2021
0.11.1 435 9/25/2021
0.11.0 451 9/24/2021
0.10.0 402 9/9/2021
0.8.9 355 8/13/2021
0.8.8 379 8/5/2021
0.8.7 360 7/20/2021
0.8.6 414 7/13/2021
0.8.5 371 7/6/2021
0.8.4 397 6/24/2021
0.8.3 448 6/13/2021
0.8.2 356 6/8/2021
0.8.1 365 6/2/2021
0.8.0 367 5/27/2021
0.7.0 337 5/10/2021
0.6.0 332 5/3/2021
0.5.5 369 4/22/2021
0.5.0 355 4/14/2021

# trkleene
## Summary
Perform a Kleene transform of a grammar
## Description
Replace a rule with an EBNF form if it contains direct left or direct right recursion.
## Usage
trkleene <string>?
## Details
`trkleene` refactors rules in a grammar with direct left or direct right
recursion. The program first reads from stdin the parse tree data of
grammar files(x). It then searches
the parse tree for the nodes identified by the XPath expression argument
or if none given, all parser and lexer rules in the grammar.
The XPath argument can select any node for the rule (e.g., the LHS symbol,
any RHS symbol, the colon in the rule, etc). The program will finally
replace the RHS of each rule selected with a "Kleene" version of the rule,
removing the recursion. The updated grammar(s) as parse tree data
is outputed to stdout.
## Examples
trparse A.g4 | trkleene
trparse A.g4 | trkleene "//parserRuleSpec/RULE_REF[text()='packageOrTypeName']"
## Notes
If you are running MSYS2 on Windows, you may notice that XPaths are not being
processed by this command correctly. To avoid the Bash shell from altering
XPaths, type _export MSYS2_ARG_CONV_EXCL="*"_, then execute your command.
## Current version
0.18.1 Fix trperf, trfirst. Adding Xalan code. Fix #180. Fix crash in trgen https://github.com/antlr/grammars-v4/issues/2818. Fix #134. Add -e option to trrename. Update Antlr4BuildTasks version. Fix #197, #198. Fix trparse exit code. Add --quiet option to trparse to just get exit code. Change trgen templates to remove -file option, make file name parsing the default.