This web page contains the
latest news and information about the GOLD Parsing System. Please check back often or contact
me and I can alert you to any new developments.
The following list contains information about website updates and new
releases.
|
A few of the charts in the documentation had errors.
|
|
This update contains bug fixes and a few new features:
- Added a 'Previous States' tab in the DFA State Browser. It works
just like the tab in the LALR State Browser.)
- Added a Nullable and First Set Table window. This information is
used to construct the LALR State Table. It should be useful for
students learning parsing theory.)
- The Symbol Information Window now displays relevant data.
Nonterminals and terminals have different meaningful properties. The
window now will only display the ones that apply to the symbol in
question.)
- Fixed a bug when declaring hexadecimal set ranges. The algorithm
had a flaw resulting in -1 (FFFFFFFF) in most cases.)
- Fixed a bug that affected using a Group End Terminal in
productions. This should be allowed in all cases, but the system was
vulnerable to the order of declaration in the grammar.)
- Fixed a bug in the Create Webpage utility. The system was
duplicating group lexical information. The same text was being
repeated for each group.)
You can get a copy from the
Builder Download page.
|
|
This update contains a revised Test Window as well as some minor
enhancements and bug fixes:
You can get a copy from the
Builder Download page.
|
|
This update contains a minor bug fix:
- Users were unable to save custom color
schemes. Now, when you save a custom color scheme, the system will
save it in the user's 'AppData' folder. So, color schemes are
located in both the application's Colors folder and the user's
AppData folder.
You can get a copy from the
Builder Download page.
|
|
- Added LALR Conflict Reports. The system now tracks the
origin of lookahead symbols in LALR Configurations. When a
conflict occurs, the LALR State Browser will generate a report.
It contains the 'why' symbols can follow a reduced production.
- Export Webpage tool was overhauled. The new 'Export Webpage'
tool can automatically generate lists of 'reserved' words,
symbols, and information about lexical groups. You can also
export tables. The generated webpage can be a great way of
starting a language spec.
- Added new dialog windows. The new dialog windows are basic,
but allow customized button text and a, very useful, 'show this
next time' text box. This will allows users to make windows,
they find annoying, go away.
You can get a copy from the
Builder Download page.
|
|
The last host was
unreliable and the e-mail system was in disarray. |
|
I just uploaded a command line version of the Builder and 3 of
the tools.
You can get a copy from the
Builder Download page.
|
|
There is a bug that
affects productions read when the grammar is first analyzed. Due to the bug,
only unique symbols are allowed in production handles.
|
|
This
update includes a new, faster, design for the Builder and Engine.
- Version 5.0 parsing algorithm was implemented. This change
gives the developer great flexibility over lexical behavior.
Lexical groups and the ability to control the attributes of
terminals were added.
- Added a tab to the Symbol Detail Window. The new tab
displays the productions which use the symbol as its head. This
was an oversight and should have been added before.
- Added filters to the Create a Skeleton Program window.
The filters can be used to display programs templates for a
specific engine and/or target language. This should keep the
window from becoming overly complex.
- The grammar editor now uses smart indenting. When you
hit enter, the new line will be automatically indented. This is
a common feature in most program development software.
- Updated the code box. I made some internal changes to
improve speed. In particular, the changes were designed to
improve the efficiency of drawing the screen.
- Improved program templates. The program templates can
now export lexical groups (given their addition to the GOLD
system). Also, the user can specify %Col=nn% in the markup code.
This will cause spaces to be inserted until column 'nn' is
reached. This is good for aligning code for readability.
- Improved the YACC/Bison import utility. The updated
version will successfully load YACC grammars that contain
embedded C code. Before, the system would sometimes fail
depending on the content of the code. Also, the YACC file name
is now placed in the imported grammar's parameters.
You can get a copy from the
Builder Download page.
Also look at
Changes in Version 5 |
!
With the release of Builder 5.0, the algorithms used by the Engines
are vastly improved. This implementation of the Engine implements
the new logic and supports the EGT file format.
Download it from the
Engine
5 .NET page.
|
! Ralph Iden
has created a Java implementation of the 5.0 Engine. He also create
a program template (included with the Builder) what will greatly
speed up writing Java-based parser.
Download it from the
Engine
5 Java page.
|
I made some
changes of the website - mainly the location of folders and the
cascading style changes. The overall look of the website didn't
change that much.
|
|
I should have registered this site long ago. Anyway, all the site
material will be found here. The old site contains meta-refresh tags
so no existing links would be broken.
|
|
This
should be the final-final version. Please check it out. |
|
Check out the the
development page for more information. |
|
The new version will contain additional
grammar/engine features. Please visit the
development page for more information |
|
Arsène von Wyss released a new version of the Engine for the .NET
programming languages.
This implementation of the Engine allows the developer to map a
semantic action classes directly to the grammar's terminals or
reductions. The result of this approach is the creation of a
functional semantic AST without the intermediate token-based AST
representation.
You can get a copy on the
BSN
Engine Page
|
Nick Sabalausky created a new website for GOLD Wiki. This site
is basically a Wikipedia dedicated to GOLD and its contributors
GOLD
WIKI website |
|
Yet another version of the Builder was released. This should correct a
bug in 4.1
- Second attempt to fix a bug in saved CGT file headers. My
attempt to fix the previous bug caused another one. This bug
involved a conversion from a string literal to a floating point.
- Added the ability change how grammar files are encoded.
Normally, grammars are saved in either ASCII or UTF-8 depending if
they contain a character outside the 0...127 range. You can now
specify if you always want UTF-8 or UTF-16 to be used instead. This
was placed in the Options Window.
You can get a copy from the
Builder Download page. |
JavaScript Object Notation (JSON) is a text file format that was
created fordata-interchange between different programming languages. The
conventions of the format is based on the C programming language and, as
a result, should be familiar to programmers of C++, Java, and C#.
You can get it on the
Grammar Download page |
Nick Sabalausky released a new engine for the D Programming
Language. Goldie (pronounced "goal D") works on both Windows and Linux.
It should also work in Mac-OS X and FreeBSD. The engine features, the
following:
- New Tool: StaticLang: Creates new "static-style" languages for
enhanced compile-time error checking.
Languages can be embedded directly into your app using the
StaticLang tool (don't have to load a CGT file at run-time, although
you still can) .
- New Tool: JsonViewer: Not officially part of Goldie, but an
enhanced version of JsonViewer is included that adds a special Parse
Tree Mode for inspecting the relationship between a source and a
treerepresenting the source (such as the parse tree).
- New Tool: GenDocs: Simple HTML preprocessor intended for
generating documentation.
- Complete documentation has been created.
- Major improvements to API for dealing with parsing errors.
- Greatly improved handling of Unicode
You can get a copy on the
D
Engine Page
|
|
Version 4.1 contains a number of bug fixes and some minor new
features (nothing exciting).
Get a copy from the
Builder Download page.
- When printing grammars, you can now exclude line numbers.
- The Export Webpage utility can save the source grammar with
contextual coloring.
- Grammars are now automatically saved using UTF-8 (if needed).
- Fixed a bug in the header of saved CGT files.
- The automatic definition for Whitespace changed. In 4.0,
whitespace was automatically defined as {All Whitespace}+.
|
|
Version 4.0 of the Builder is finally complete. The new version
contains a large number of improvements over 3.4. These include a
complete rewrite of the source code and numerous GUI improvements.
You can get a copy from the
Builder Download page.
- The code was completely revamped. The source code for the
Builder was converted from Visual Basic 6 to Visual Basic .NET. In the
process of converting the code, most of the objects and arrays were
further optimized. The overall speed of the application improved.
- New 24-pixel icons. The older 16x16 icons are getting a tad too
small for many computer screens. The new icons also look quite a bit
better! :-).
- Contextual coloring in the grammar editor. The grammar editor
now colors different grammar elements based on type. This is fairly
common in most software development applications.
- When a conflict occurs, each item will be marked in the DFA/LALR
browser. Beforehand, the system simply reported which symbols caused
the conflict, but did not mark the productions that caused the
conflict.
|
|
This is a
work-in-progress picture for Version 4. The core code is complete at this point, but I
still need to finish the GUI and features. First version of 4 will not have a ton of new
features - since it is basically a port from the original version.
That being said, the new version will have:
- 24x24 pixel icons
- Far better grammar editor - complete with contextual coloring, line numbers, etc...
- Better data tables
|
|
Hello all. I was called onto some other projects and didnt' have time to work on GOLD
for a while. Anyway, I am in the process of creating version 4 of the Builder. Hopefully,
I will have this out in December.
I should have some screenshots soon. My apologies for the lack of updates. |
New!
Hansgeorg Schwibbe modified the Java Engine source
and .jar file to be compatible with Ecclipse. You can download a copy from the
Java Engine Download page |