Skip to content

Releases: kaby76/Trash

0.23.5

15 Sep 20:01
36efbbb
Compare
Choose a tag to compare

Minor release, which adds features for tracking ambiguity within a grammar.

  • Added the command-line option --ambig to trparse to output parse trees of ambiguity. Each tree is printed with a unique file name that is composed from the original file name plus the decision number.
  • Added file name to output of trtree when there are multiple parsing result sets.
  • Added Antlr4 parse tree output to trtree.
  • Added indented parenthesis-less output to trtree.
  • Refactored some of the underlying code for parse tree output.
  • Updated the CSharp templates in target for collecting information on parse tree ambiguity.
  • Updated the dependencies for the trgenvsc-generated extension.

0.23.4

07 Sep 01:29
de20c95
Compare
Choose a tag to compare

Minor fix and new feature.

  • trperf. The value for column "a" (ambiguities) was incorrectly implemented, counting the number of errors.
  • trgenvsc. The settings.rc JSON file is now initialized when "install.sh" is run. It is set up with syntactic highlighting categories.

0.23.3

15 Aug 09:57
a3e3e90
Compare
Choose a tag to compare
  • Removed parse result Text field (now all in parse tree).
  • Removed trprint as it is no longer needed.
  • Added match-required to trquery so require matching for an XPath expression.
  • More code clean ups.
  • Updates to tritext filters of --filter option for Fortran EBNF scraping.
  • Fix trgen ignore files.
  • Re-add trsort.
  • Add trclonerename tool for grammar optimization.

0.23.1

24 Jun 10:24
Compare
Choose a tag to compare
  • Added tritext from the grave.
  • Added option -m to tritext for markup of fonts. This was done specifically for scraping the EBNF from the WG5 Fortran specs.
  • Add heat map to trperf. This option creates a "cover.html" that produces a color-coded HTML file of the input file used in testing. In addition, when moving the mouse over a token, a pop-up will contain all call stacks for LT() for the token. This information can be useful in determining how to optimize your grammar.
  • Rewrite grammar analysis in trgen.

0.23.0

25 Apr 09:26
27837c8
Compare
Choose a tag to compare
0.23.0 Pre-release
Pre-release

Release 0.23.0 changes the way certain CRUD are made.

The main engine used in Trash, currently Eclipse XPath ported to C#, only implements XPath2. It does not contain XQuery, and there are many features in XPath3 that would be valuable. Although the Eclipse XPath code port in C# is being updated, the original code forked from Eclipse is no longer being maintained. Therefore, the XPath engine needs to be replaced. This release moves in this direction.

trquery, which implements a very basic XQuery CRUD, replaces the basic CRUD applications trinsert, trdelete, trmove, etc. Some of the "higher-level" applications, which deal with Antlr4 grammars, are implemented as XQuery scripts in g4-scripts.

Prior to this release, one of the more important features missing is how to "grep" for off-channel tokens. While "whitespace" is integrated in the parse tree (unlike Antlr itself, which does not place any off-channel content in the parse tree), the XPath syntax to access this content was terrible. This release fixes this by adding attribute nodes for off-channel token types, e.g., @WS. It is now possible to move comments, whitespace, etc., around the parse tree.

Changes

  • Update the antlr4 grammar so that it is consistent with grammars-v4: removed labeledLexerElement; reformatted grammar.
  • Remove xalan port.
  • Fix various templates for trgen.
    • Fix Typescript templates compilation issue.
    • Update Antlr4ng template with new requirements.
  • Add column data specification to trperf. Add file name input to output. Add option to display column header names (default is to not display).
  • Add in updates for XPath expressions involving attributes. The problem is that there was no way to address off-channel content in XPath expressions. The solution fixes this using attributes.
    • Fix #434 -- be able to address off-channel tokens as attributes, e.g., @WS.
    • Fix #438 -- fix bug in getting parent of parse tree attributes (e.g., off-channel tokens that are in the parse tree).
  • Fix trfoldlit.
  • Update testing and re-add the workflow tests.
  • Update build and install scripts for Trash for Ubuntu.
  • Replace basic CRUD commands with trquery commands. It's unnecessary to have applications that implement CRUD when when we have trquery, which implements CRUD.
    • Removed trdelabel and trstrip from Trash, and add scripts in g4-scripts.
    • Removed trdelete and trdeltree. These are now implemented using trquery delete.
    • Implement trquery move.
  • Update readme.
  • Fixed https://github.com/kaby76/Domemtech.Trash/pull/437