trunfold 0.21.9
See the version list below for details.
dotnet tool install --global trunfold --version 0.21.9
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local trunfold --version 0.21.9
#tool dotnet:?package=trunfold&version=0.21.9
nuke :add-package trunfold --version 0.21.9
trunfold
Summary
Perform an unfold transform on a grammar
Description
The unfold command applies the unfold transform to a collection of terminal nodes in the parse tree, which is identified with the supplied xpath expression. Prior to using this command, you must have the file parsed. An unfold operation substitutes the right-hand side of a parser or lexer rule into a reference of the rule name that occurs at the specified node.
Usage
trunfold <string>
Examples
Before:
grammar Expresion;
s : e ;
e : e '*' e # Mult
| INT # primary
;
INT : [0-9]+ ;
WS : [ \t\n]+ -> skip ;
Command:
trparse Expression.g4 | trunfold "//parserRuleSpec[RULE_REF/text() = 's']//labeledAlt//RULE_REF[text() = 'e']" | trsponge -c
After:
grammar Expression;
s : ( e '*' e | INT ) ;
e : e '*' e # Mult
| INT # primary
;
INT : [0-9]+ ;
WS : [ \t\n]+ -> skip ;
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.21.9 Fix trgen globstar testing, Python3 target.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
0.23.8 | 116 | 11/1/2024 |
0.23.7 | 2,574 | 10/9/2024 |
0.23.6 | 717 | 9/21/2024 |
0.23.5 | 99 | 9/15/2024 |
0.23.4 | 116 | 9/7/2024 |
0.23.3 | 122 | 8/15/2024 |
0.23.2 | 125 | 6/28/2024 |
0.23.1 | 126 | 6/22/2024 |
0.23.0 | 180 | 4/25/2024 |
0.22.0 | 239 | 2/26/2024 |
0.21.16 | 261 | 11/16/2023 |
0.21.15 | 210 | 11/16/2023 |
0.21.14 | 177 | 11/15/2023 |
0.21.13 | 174 | 11/14/2023 |
0.21.12 | 294 | 10/27/2023 |
0.21.11 | 342 | 10/24/2023 |
0.21.9 | 313 | 9/27/2023 |
0.21.8 | 266 | 9/26/2023 |
0.21.7 | 248 | 9/26/2023 |
0.21.6 | 253 | 9/20/2023 |
0.21.5 | 263 | 9/18/2023 |
0.21.4 | 287 | 9/17/2023 |
0.21.3 | 267 | 9/14/2023 |
0.21.2 | 329 | 9/4/2023 |
0.18.1 | 557 | 11/11/2022 |
0.18.0 | 517 | 11/7/2022 |
0.17.0 | 532 | 9/11/2022 |
0.16.5 | 625 | 7/29/2022 |
0.16.4 | 602 | 6/13/2022 |
0.16.3 | 587 | 5/7/2022 |
0.16.2 | 523 | 5/6/2022 |
0.16.1 | 596 | 5/5/2022 |
0.16.0 | 654 | 4/13/2022 |
0.15.1 | 602 | 4/4/2022 |
0.15.0 | 619 | 3/20/2022 |
0.14.3 | 602 | 2/27/2022 |
0.14.2 | 565 | 2/18/2022 |
0.14.1 | 573 | 1/26/2022 |
0.14.0 | 579 | 1/26/2022 |
0.13.8 | 572 | 1/14/2022 |
0.13.7 | 597 | 1/13/2022 |
0.13.6 | 590 | 1/13/2022 |
0.13.5 | 609 | 1/12/2022 |
0.13.4 | 616 | 1/11/2022 |
0.13.3 | 564 | 1/10/2022 |
0.13.2 | 371 | 12/24/2021 |
0.13.1 | 404 | 12/24/2021 |
0.13.0 | 372 | 12/23/2021 |
0.12.0 | 406 | 12/6/2021 |
0.11.5 | 508 | 10/17/2021 |
0.11.4 | 451 | 10/17/2021 |
0.11.3 | 416 | 9/28/2021 |
0.11.2 | 441 | 9/26/2021 |
0.11.1 | 427 | 9/25/2021 |
0.11.0 | 450 | 9/24/2021 |
0.10.0 | 451 | 9/9/2021 |
0.8.9 | 414 | 8/13/2021 |
0.8.8 | 398 | 8/5/2021 |
0.8.7 | 435 | 7/20/2021 |
0.8.6 | 500 | 7/13/2021 |
0.8.5 | 428 | 7/6/2021 |
0.8.4 | 434 | 6/24/2021 |
0.8.3 | 540 | 6/13/2021 |
0.8.2 | 435 | 6/8/2021 |
0.8.1 | 431 | 6/2/2021 |
0.8.0 | 488 | 5/27/2021 |
0.7.0 | 431 | 5/10/2021 |
0.6.0 | 397 | 5/3/2021 |
0.5.5 | 428 | 4/22/2021 |
0.5.0 | 412 | 4/14/2021 |
# trunfold
## Summary
Perform an unfold transform on a grammar
## Description
The unfold command applies the unfold transform to a collection of terminal nodes
in the parse tree, which is identified with the supplied xpath expression. Prior
to using this command, you must have the file parsed. An unfold operation substitutes
the right-hand side of a parser or lexer rule into a reference of the rule name that
occurs at the specified node.
## Usage
trunfold <string>
## Examples
Before:
grammar Expresion;
s : e ;
e : e '*' e # Mult
| INT # primary
;
INT : [0-9]+ ;
WS : [ \t\n]+ -> skip ;
Command:
trparse Expression.g4 | trunfold "//parserRuleSpec[RULE_REF/text() = 's']//labeledAlt//RULE_REF[text() = 'e']" | trsponge -c
After:
grammar Expression;
s : ( e '*' e | INT ) ;
e : e '*' e # Mult
| INT # primary
;
INT : [0-9]+ ;
WS : [ \t\n]+ -> skip ;
## 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.21.9 Fix trgen globstar testing, Python3 target.