Change Log
Dates below are in YYYY-MM-DD format.
2012-04-17
Tested on: DMD 2.055 - DMD 2.059, but only partially DMD 2.057 as described
below
-
Added support for DMD 2.059.
-
Removed support for DMD 2.054 and below.
-
GoldieLib: Renamed
Language.loadCGT to
Language.load.
-
GRMC: Grammar Compiler: Major bugs fixed:
-
Fixed: Shift-Reduce conflicts aren't actually resolved at all
contrary to the warning message. They are now reported and
resolved by assuming "Shift" as intended.
-
Fixed: Failure to resolve Shift-Reduce conflicts can result in
false Reduce-Reduce conflict errors.
-
Fixed: In certain cases, extra terminals incorrectly added
as lookaheads.
Ultimately, the parser would occasionally accept a terminal
when it should have given an "Unexpected xxxx" error, which
probably would have then led to an InternalException.
(Root cause: Generating lookaheads mistook recursive rules for "can derive empty".)
-
Fixed: In certain cases, LALR actions point to wrong state,
creating extra conflict errors and possibly incorrect parsing.
-
Fixed: In certain cases, LALR states are accidentally merged.
-
New tool: AlterCGT.
-
Command line options for all tools are now processed with
getopt and use
standard Unix conventions (even on Windows). This means what used to
be -foo:bar or /foo:bar must now be
written as --foo=bar or --foo bar.
(But /? is still supported as an alternative to
--help.)
-
DumpCGT: Dumps directly to a text file, not stdout.
-
DumpCGT: Added --out and
--no-filename command line options.
-
GenDocs: Fixed: Code highlighted as "added" with
+ is followed by an excess blank line.
-
Parse: Fixed: Crashes when saving to XML instead of JSON.
-
Parse: Changed the command line options.
-
StaticLang: Output directory cannot be the same
as Goldie's package source, to prevent overwriting Goldie's source.
(But note: This detection can be fooled with symbolic links or
separate installations of Goldie.)
-
StaticLang/Parse:
Always output Unix-style \n newlines. (This is 2012 - everything
relevant handles \n just fine, even on Windows. High time to
standardize on it.)
v0.8
- Support DMD 2.058
2012-02-18
Tested on: DMD 2.052 - DMD 2.058, but only partially DMD 2.057 as described
below
(but see this note regarding RDMD from the archived Goldie documentation)
-
Added support for DMD 2.058.
-
Calculator samples now require at least DMD 2.054.
-
StaticLang:
Static-style languages generate a proper compile-time error when used
with a different version of Goldie than the one they were created with.
-
Now uses SemiTwist D Tools
tag 'goldie-v0.8'.
v0.7
- API, 64-bit, Git
2012-01-29
Tested on: DMD 2.052 - DMD 2.056, and partially DMD 2.057 as described
below
(but see this note regarding RDMD from the archived Goldie documentation)
v0.6
- Newer DMDs and Static Fixed
2011-10-04
-
Added support for DMD 2.054 and 2.055.
The next version of Goldie will likely require at least 2.055.
- Fixed: Major bug in static-style: Some tokens erroneously refer to calc grammar no matter what grammar they're from.
- Now uses SemiTwist D Tools r234
2011-05-17
Tested on: DMD 2.052 - DMD 2.053
- Improved lexing/parsing speed by about 5x-6x.
- Small additional speedup lexing languages with large character sets (such as Unicode).
- GRMC: Grammar Compiler: Supports {All Valid} character set.
- GRMC: Grammar Compiler: Complex grammars are compiled to CGT up to about 4x-8x faster.
- GRMC: Grammar Compiler: Verbose (-v) flag shows each step and amount of time taken.
- ParseAnything: No more unhandled exception when parsing a source with an error.
- Fixed to work with DMD 2.053 (still works with 2.052, too).
- Now uses SemiTwist D Tools r221
v0.4
- D2 and GRMC
2011-03-27
Tested on: DMD 2.052
- Switched from D1/Tango to D2/Phobos.
- New tool: GRMC: Grammar Compiler. Because of this, Goldie no longer requires GOLD Parser Builder.
- Grammars can be compiled not only from GRMC: Grammar Compiler, but also through the D API, GoldieLib.
- No longer requires xfBuild or Rebuild.
- Executable filenames are now prefixed with 'goldie-' to minimize chance of collisions on the PATH.
- Many misc changes/improvements to tools, API and documentation.
- Now uses SemiTwist D Tools r213
v0.3
- Static-Style and Documentation
2010-07-25
- Added static-style languages.
- Major improvements to API for parsing errors.
- Misc changes/improvements to API.
- New tools: StaticLang, JsonViewer and GenDocs.
- Split Calculator sample app into a dynamic-style version and a static-style version.
- Greatly improved handling of Unicode.
- Created complete documentation.
- Now uses SemiTwist D Tools r132
v0.02
- Minor Bugfix
2009-09-09
v0.01
- Initial Release
2009-08-26
- Initial Release
- Uses SemiTwist D Tools r82
|