The Tower Bridge in Sacramento, California Revision History
Versions Released in 2001
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 2001.

Version 1.0 Beta 19   (December 12, 2001)

  • The Unicode characters from #160 to #255 are now supported. This allows the system to be able to handle the No-Break Space (#160) as well as the characters above #127.
  • The Test Window now automatically creates a default filename for the test file. The default filename is constructed by adding the grammar's name to the word 'Test'. For example, a grammar named 'LISP' would have a default filename of 'LISP Test'. This is a very minor addition.
  • Test files can now be dragged and dropped on the Test Window.
  • The system now checks for rules containing illegal symbols. Rules can only contain normal terminals and nonterminals. Using symbols such as 'Comment Start' and 'Whitespace' can cause unpredictable results in the parser engine (since the symbol is interpreted 2 ways).
  • 'Expand All Nodes' and 'Collapse All Nodes' were added to the Test Window menu.
  • The Test Window now has a column which displays the current line number.
  • Made some modifications to the documentation The notation used for the built-in examples has been updated and some of the text was cleaned-up
  • Modified the file load window to contain 'All Grammar Files (.grm, .cgt)'. This window was able to load both Grammar Outlines and Compiled Grammar Table files, but, by default, it only displayed the .grm type.
  • Fixed a small bug when dragging and dropping files on the Main Window. The application did not set the current filename to the one just dropped.
  • Fixed a user-defined character set bug in the Builder. When constructing user-defined sets, the system would not add the horizontal tab, vertical tab, form feed, or line feed characters. Thanks to Eric James for finding this problem.
  • Fixed a block comment related bug in the Parser Engine. The gpMsgCommentError message was not being generated for runaway block comments. Special thanks to Matthew Hawkins [] for finding this problem.
  • Fixed a parse bug in the Parser Engine. The bug only effected grammars that were (1) Case Sensitive and (2) have reserved words containing uppercase characters. In these cases, the Parser Engine was not able to recognize the reserved words.
  • Fixed a file load bug in the Parser Engine. The OpenFile() method did not correctly setup text streaming from the specified file. Special thanks to Eric James for finding this problem.

Version 1.0 Beta 18  (October 13, 2001)

  • Added the ability to drag and drop files onto the main window.
  • The contents of the Symbol Table are now automatically sorted.
  • Productions in the LALR state table are sorted. The productions are ordered by the position of the parse cursor and then by the rule's index.
  • UNIX encoded text files can now be opened.
  • The main window caption now displays (Modified). This appears when the grammar has been changed. Also, only the filename is displayed, not the entire path.
  • Added the total number of LR(1) configurations to the log.
  • The system now warns if a terminal is defined in the grammar, but not used in the rules.
  • Added two webpage links to the Help Menu. The links 'GOLD Parser Homepage' and 'Check For Updates' were added.
  • Added a warning for terminals that are defined, but not used.
  • System now checks if terminals can be zero-length. Terminals must be at least 1 character long or problems can arise in the DFA State Machine. Example: {AlphaNumeric}*
  • Added the Parameter() method of the ActiveX DLL. I forgot to include this in the original library. Though not critical, it was a serious oversight.
  • The 'Start Symbol' parameter can now contain angle brackets. Before this change, the value of the the 'Start Symbol' parameter could not be specified using the angle brackets which usually denote a nonterminal. This was an inconsistency in the syntax.
  • Major Update! The code base has been completely optimized. The compilation process for the DFA and LALR tables is now over 4 times faster! This was accomplished by creating a new LALR(1) closure algorithm and sorting sets during compilation.
  • Updated the message displayed when a CGT file is opened. The message in the grammar editor when a Compiled Grammar Table file (.cgt) is opened is now far more descriptive.
  • Updated the colors and icons. The colors used to display productions, reductions and accepts were changed. Also changed the accept icon in the Grammar Test Window.
  • Updated the positioning of child windows. All the child windows will be centered in relation to the Main Window.
  • Changed the layout and picture in the About Window.
  • Modified the layout of the Revisions Window. The previous version was hard to read (since the details were on the same line as the line item).
  • Renamed the 'Special' menu in the Main Window to 'Grammar'. This is a minor, cosmetic, change.
    Cleaned up some of the error messages.
  • Updated the GOLD Parser Help file. The documentation now includes information on the Parameter() method which was added to the Parse Engine DLL.
  • Updated the Compiled Grammar Table file save message. Before this change, the application only displayed a message after it was done saving, not during.
  • Fixed a bug in the parser engine. When the parser engine was 'Reset' the parameters such as Name, Version, Author, etc... were cleared. This should be, and now is, exclusive to 'Clear'.
  • Fixed a bug when saving a grammar outline. It wrongly listed 'Compiled Table File (.cgt)' as one of the save type options. This is performed from another menu item.
  • Fixed a bug in the DFA State Table construction. This bug only occurred for case sensitive grammars. When the internal character sets were created after the construction of the DFA, sets were compared case insensitive. As a result, sets such as [abc] and [ABC] were combined.  

Version 1.0 Beta 17  (August 2, 2001)

  • Added a 'Reduction' class to the Parser Engine DLL. Using this class, the parser can automatically create a parse tree without requiring the developer to create customized objects.
  • Added the ability to open Compiled Grammar Table files with the Builder. - I had the code, why not use it?
  • Improved HTML exporting. The web page now uses embedded cascading style sheets. This decreases size and allows easy maintenance.
  • Updated the documentation to reflect to changes to the Parser Engine DLL. The style and layout of the documentation was also improved.
  • Changed the default size of the main window and the test window.
  • Per request, the parse tables can now be exported to a HTML webpage even if a conflict is detected.
  • Fixed a bug that occurred when creating terminals with the pipe | or double-quote " character. The flaw is the result of misinterpretation by the regular expression scanner.

Version 1.0 Beta 16  (May 21, 2001)

  • Added a 'Do you want to print this grammar' message before printing starts.
  • Added the Ada programming language to the Create Enumerated Constants window.
  • Changed the size of the Create Enumerated Constants window.
  • Modified the main window so the GUI components load more efficiently.
  • Changed the default size of this Revision History window.

Version 1.0 Beta 15   (May 17, 2001)

  • Changed the Test Grammar window so the source text is on its own tab.
  • Fixed a bug in the DFA Engine. In the situation where 2+ terminals start with the same pattern, i.e. '{Digit}+' and '(Digit}+.{Digit}+', the engine can read the wrong number of characters from the buffer.

Version 1.0 Beta 14   (April 23, 2001)

  • Added this Revision History window
  • Added the Print feature
  • Made sure that when saving a Compiled Grammar Table the system will display a warning if you are overwriting an existing file.
  • Changed the picture in the About window to a photo of the Capitol of California.
  • Improved HTML exporting. I removed all unnecessary HTML data to minimize file size (still very large).
  • Fixed a file save bug. After a Compiled Grammar Table (.cgt) file is created, saving the source grammar (.grm) will overwrite it.

Version 1.0 Beta 13   (April 20, 2001)

  • Added a 'Do you want to save changes?' warning if you attempt to exit the program, etc... without saving.
  • Added more content to the Log. When the grammar description has a error, the log now displays the actual line.
  • Test Grammar window now draws the test grammar and parse data proportionally.