Skip to content

Releases: NoaSenesi/Grammar2Table

Compacting optimization

31 Oct 12:36
Compare
Choose a tag to compare

The compacting algorithm now uses hashes instead of nested loops in order to separate potential duplicates. Moreover there is now a message stating the compacting ratio of the table.

Out of range bug fix

31 Oct 09:48
Compare
Choose a tag to compare

In some cases, the tolenizer could go out of range.

Jar and package build

25 Oct 13:37
Compare
Choose a tag to compare

Changed build scripts to be named "compile". The new build scripts now build a jar file.
The mkpkg script create .deb package file so G2T can be installed (only for Linux).

Output and slight optimization

05 Oct 10:38
Compare
Choose a tag to compare

Added the --output (or -o) option. Usage: --output=name (or -oname)
The extension will automatically be added when creating the output files, and cannot be changed (.csv and .g2table)

The FSM now uses sets instead of lists in order to check more efficiently if a state already exists. The optimization isn't big, but it's still an optimization.

Compactable parsing

23 Jun 13:47
Compare
Choose a tag to compare

Added a new parameter --compact (or -c):

  • Relies on the LALR(1) algorithm
  • Prevents conflicts from happening
  • At best, the result will be a LALR(1) table
  • At worst, the result will be unchanged
  • The compacting algorithm can last a while

Added another parameter --quiet (or -q):

  • Status messages will be delivered, unless using this parameter

Fixed epsilon

18 Jun 20:21
Compare
Choose a tag to compare

Fixed epsilon being considered as one stack pop when using the 5th optimization

More parameters

18 Jun 20:12
Compare
Choose a tag to compare

Added a new parameter --no-table (or -n), preventing the table from generating and exporting
Added optimization levels 4 and 5 to the --optimize-csv (or -p) parameter
Added a shebang to each .sh files (which were renamed to remove the file extension)

Edited optimizations

18 Jun 14:06
Compare
Choose a tag to compare

The third optimization (-p3 or -optimize-csv=3) has been made slightly more efficient, by replacing arrows by equals, and by removing the "I" in states.

Parameters and GOTO

14 Jun 14:25
Compare
Choose a tag to compare

Changed SHIFT actions for non-terminals to GOTO instead
The optimize-csv parameters now accepts a number representing the level of optimization wanted

Added options

29 May 20:21
Compare
Choose a tag to compare

Added different options to the command. Check README.md for more details.