|GOLD Parser News: Version 2.2 was released! GOLDParser@DevinCook.com (2004-04-29)|
|Re: GOLD Parser News: Version 2.2 was released! email@example.com (TOUATI Sid) (2004-05-02)|
|Date:||29 Apr 2004 12:08:59 -0400|
|Posted-Date:||29 Apr 2004 12:08:59 EDT|
GOLD Parser News
Great News! The GOLD Parser Builder version 2.2 was just released!
About the GOLD Parser
The GOLD Parser is a free, open source, parser generator that you can use
to develop your own compilers and emulators.
Modern bottom-up parsers use a Deterministic Finite Automaton (DFA) for
identifying different classes of tokens and a LALR(1) state machine to
parse them. The actual LALR(1) and DFA algorithms are easy to implement
since they rely on tables to determine actions and state transition.
Consequently, it is the computing of these tables that is both
time-consuming and complex.
Unlike common compiler-compilers, the GOLD Parser does not require you to
embed your grammar directly into your source code. Instead, the Builder
analyzes the grammar description and saves the parse tables to a separate
This information can be, subsequently, loaded by the actual parser engine
The GOLD Parser currently supports:
* All Microsoft .NET languages
* Delphi 3 & 5
* All ActiveX languages
* Visual C++
* ANSI C
Parser Engine Source Code
In the future, the source will be ported to as many additional
programming languages as possible. If you would like to port
the code to another language, your work will be deeply appreciated.
The GOLD Parser Engine source code is now available for:
* ANSI C
* Delphi 3 & 5
* Visual Basic 5
* Visual Basic .NET
* Visual C++
Major Changes in Version 2.2
* Added 'Virtual' terminals. These terminals are specified
in the "Virtual Terminals" parameter. The system will
enter these terminals into the symbol table, but they
will not be entered into the Deterministic Finite
Automata. As a result, the terminals will not be
recognized by the tokenizer, but can, instead, be created
by a specialized version of the Engine or by the
developer. This can help developers parse languages which
are not context free - such as Python.
* Added a few new options to the exporting to formatted
text or web pages. You can now exclude LALR lookahead
sets and unstarted configurations when exporting the
* Program Templates now can create constants in lowercase.
The ID-CASE parameter can contain Uppercase, Propercase
and Lowercase. Previously, 'lowercase' was not allowed.
* Added a 'Trim Reductions' button to the Test Window
toolbar. Beforehand, this option could only be changed
from the main menu.
* The Test Window can now export the parse action table.
Before, the test window would only export the parse tree.
* The formatting used in the Test Window was improved. The
formatting used to list parse actions was modified. The
new format is easier to interpret.
* I cleaned up much of the internal code. There are too
many things to list.
* The acronym for 'GOLD' was changed again. The new acronym
stands for Grammar Oriented Language Developer. This
should be the last time the acronym is changed.
* Character constants between &D800 and &DBFF are no longer
valid. These values are reserved in Unicode for UTF16
* The 'Export Formatted Text' utilty is now much faster.
Both the speed and formatting used by this utility was
* The Help toolbar button and menu item will now open the
main online help page. Beforehand, the Help would open
the meta-language documentation page.
* Fixed a bug when creating skeleton programs. If the
Symbol or Rule prefix was blank, the system was adding
the text 'Space'. This made if it difficult to create
constant names without prefixes.Fixed a very minor bug
with the Create Program Template window. When you browse
for a different folder using the Create Skeleton Program
utility, the system was not disabling the 'Create' button
if no templates were found.
* Possibly fixed a bug concerning how the toolbar icons are
displayed. On some systems, the toolbars were failing to
remove the mask color (color that is transparent) on the
icons. I made some revisions to the GUI library that
might fix this. Time will only tell, though.
Return to the
Search the comp.compilers archives again.