The Tower Bridge in Sacramento, California Revision History
Versions Released 2003
Latest News
Getting Started
Screen Shots
About GOLD
How It Works
Why Use GOLD?
Revision History
Freeware License
More ...
What is a Parser?
Backus-Naur Form
DFA Lexer
LALR Parsing
More ...

The following is a list of versions released in 2003.

Version 2.0.6 (November 11, 2003)

  • The parse tables can now to be exported to XML. Instead of using the Compiled Grammar Table format, you can also export the information to XML.
  • Added the 'Known Issues' item to the Help Menu. This menu option will open a webpage containing all known bugs and issues with the version of the Builder you are using.
  • Added three more predefined character sets. The character sets {Euro Sign}, {ANSI Mapped} and {ANSI Printable} were added. The {ANSI Mapped} set contains the characters between 128 and 159 that have different values in Unicode. {ANSI Printable} contains all printable characters available in ANSI. Essentially, this is a union of {Printable}, {Printable Extended} and {ANSI Mapped}.
  • Added an error logger. When an error occurs, information is saved to a file in the GOLD Parser application folder.
  • The toolbar icons will now always display correctly. The maskcolor, which is used to remove the transparent parts of a picture, would sometimes malfunction. The result was an ugly magenta background appearing behind the icons.
  • The Webpage export utility was fixed. The HTML code created by this utility was not even close to being valid. The system will now also warn if you are overwriting a file.
  • The null character {#0} is no longer valid. In the last version of the Builder, the null character could be specified in a grammar. This causes problems with the CGT file which uses the null character to terminate character strings.
  • The meaning of the acronym GOLD was changed to Generalized Object-oriented Language Developer. This is far more descriptive than the old acronym.
  • Many of the internal variables were changed from short integers to long (4 byte) integers. In many cases, users were getting 'Overflow' errors.
  • The test window was updated slightly. The message displayed in the Test window, when there are too many reductions to display a parse tree, was changed. It now reminds you that you can still export the tree to a text file.
  • All instances of the word 'Outline' were removed from the application. Since the acronym was updated, the term 'outline' is really not necessary. Grammars are simply called 'grammars'.
  • The log window was modified. The log window now displays a short description when a shift-reduce or reduce-reduce conflict occurs.

Version 2.0.5 (June 14, 2003) - Minor Update

  • Added a Help button to the tool bar.
  • The format for the grammar was improved. The developer can now use optional new lines for readability. Also, the grammar is more tolerate of line comments.
  • LALR Tables are now constructed before the DFA Tables. Most language conflicts occur in the grammar syntax rather than when creating the tables for the tokenizer.

Version 2.0.4 (May 16, 2003)

  • You can now double-click on grammar errors in the log window. If you click on a syntax error log entry, the system will automatically jump to that line in the grammar.
  • Added some shortcut keys to the File Menu.
  • The system will now display an error for duplicate terminal definitions.
  • Fixed another bug with line comments. The system wasn't incrementing the current line number.

Version 2.0.3 (May 13, 2003)

  • Fixed a bug with {#xxx} and {&xxx} set notation. This was a very careless mistake. In fact, I probably earned 40-lashes for this! Even though the system supported all Unicode characters, the {#xxx} and {&xxx} notations were not working.
  • Added set literal warning Sometimes, developers use YACC-like notation for set literals such as [A-Z]. However, the GOLD Builder only interprets this as the three characters: 'A', '-', and 'Z'.
  • Made some changes to the Log Window I added a description box at the bottom of the window.
  • Test Window parse text was improved. I made some modifications so text displayed in the Test Window is easier to read. In particular, the system will only replace a space with {Space} when necessary.
  • The system now more actively prompts if you want to save changes. Beforehand, the system would not prompt if the application was closed and would not prompt if your did not save the compiled grammar table file.

Version 2.0.2 (May 8, 2003)

  • Fixed a bug with line comments. The Engine was removing the new line character(s) when a line comment was read. This is causes problems for line-based grammars.

Version 2.0.1 (April 29, 2003)

  • Major Update! The Builder now supports ALL Unicode characters.
  • New Feature! The Builder can now create Skeleton Programs using templates. The Create Enumerated Constants window was replaced with a new window that can create full skeleton programs for any present and future versions of the Engine. Templates are stored in a subfolder of the GOLD Parser Builder program.
  • Any character can now be specified using the {#xxxx} format. In the previous version, only a select number of the first 255 characters were supported.
  • Added the {&xxxx} notation for characters. Unlike the other format, this is hexadecimal. Unicode characters are often referred to using their hexadecimal index.
  • Added the "Character Mapping" parameter. For now, the only valid values are ANSI or Unicode. The system defaults to ANSI - which populates characters 128 to 159 as needed.
  • Added a large number of predefined character sets. Since Unicode is now supported, the Builder contains sets for groups of characters. These include (but are not limited to): {Greek}, {Thai}, {Hebrew} and {Katakana}.
  • Huge Change! The Builder is now using the GOLD Parser Engine to parse the grammar. The grammar  is now parsed by an internal copy of the GOLD Parser Engine. This allows better feedback, the use of block comments, true line comments, and consistency with notation. In other words, the Builder was, in part, developed using the Builder! :-)
  • Added the 'Edit' menu.
  • Block comments were added to the grammar notation. You can now use the !* and *! symbols to create block comments in your grammar.
  • The speed of many of the internal tables have been improved. Searches were moved from linear to binary.
  • The 'dot' character was added to the pulldown window when exporting the tables to formatted text. This is a very minor change.
  • The logic used to display strings on the screen was updated. The test window was displaying all spaces as {Space} - even for tokens.
  • The program now displays the hourglass icon when it is working. This is a very minor change, but I should have added it a long time ago.
  • Characters displayed in the Defined Set window now use friendly names.
  • The grammar editor now displays the current line number.
  • The test window now displays the current line number.
  • Line comments are now true line comments. Line comments can be added to any line rather than only being allowed at the start of a new line.
  • Fixed a minor display bug for the main grammar window. When the grammar window was first displayed, the textbox was not resized for a split second. This was an annoyance.
  • Fixed a display bug on the main button. The main button - which displays the next step - would not display the 'Enter Grammar' message if the system was reset.
  • Fixed the 'Null Character' bug when saving the grammar. The custom stream was treating the file as a C-style null-terminated string.

2002 Revisions
2001 Revisions