The Tower Bridge in Sacramento, California Why Use GOLD?
Advantages of the GOLD Parsing System
Main
Latest News
Getting Started
Screen Shots
Download
Documentation
Contributors
Contact
About GOLD
How It Works
FAQ
Why Use GOLD?
Comparison
Revision History
Freeware License
More ...
Articles
What is a Parser?
Backus-Naur Form
DFA Lexer
LALR Parsing
Glossary
Links
More ...


There are a number of competing parser generators available. Some are free, some are not. Some are LL parsers and others are LALR parsers. As a developer, you must decide which is the best for your project.

The question remains: Why use GOLD? Here are a few reasons:

1. GOLD supports multiple programming languages.

Due to the design of the GOLD Parsing System, multiple programming languages can be, and actually are, supported.

When the GOLD Builder analyzes a grammar, it saves parse table information to a separate file. This file is independent of any particular programming language and can be loaded by different versions of the parsing engine and used. The parsing engine itself is a simple automata, and new versions can be implemented in different programming languages with ease.

Currently, GOLD supports more programming languages than any other parser. These include:

Assembly - Intel x86
ANSI C
C#
D
Delphi
Java
Pascal
Python
Visual Basic
Visual Basic .NET
Visual C++

For information about different the programming languages supported by GOLD and other parsing systems, please see the Parser Comparison page.

2. GOLD uses the LALR parsing algorithm.

The LALR parsing algorithm is a table-based system used by a number of popular parsers. This includes the legardary YACC Compiler-Compiler.

Since LALR parsers are table-based, the system is able to parse at lightning-fast speeds. In addition, at any point during the parse, the system knows exactly which tokens are expected. This allows easy error recovery and the ability to display helpful information to the user.

3. Grammars are easy to write and understand.

The grammars used by GOLD are easy to both read and write. The notation used to define both terminals and rules follows the standard formats used by both students and professionals.

The definitions for terminals are written using a variant of regular expressions. This allows you to easily define the pattern of identifiers, reserved words, symbols and anything else you need. To aid the readability and ease of defining expressions, GOLD grammars also support pre-defined and custom character sets.

Rules are written using standard Backus-Naur Form. Since GOLD users the LALR algorithm, there are no limitations on the format of a grammar. You can write rules that best suite your needs rather than worrying about such things as eliminating left-recursion.

4. The GOLD Builder is easy to use.

The GOLD Builder is the application that you use to analyze a grammar and then generate parse information. The application is designed to help you create and test your grammar with ease.

The Builder allows you to:

Export parse information directly to formatted text or XML
Import grammars written for YACC.
Create webpages using the parse information
Interactively test how your grammar works
Create skeleton programs
View the actual LALR and DFA state table information.
.... and more.
5. GOLD is and always will be free.

Some parser generators are quite expensive. GOLD is and will always be free. Please read the Freeware License Agreement for more information

6. Unicode Support

The GOLD Parsing System supports the full Basic Multi-lingual Plane of the Unicode character set. As a result, your parser will not be limited to the mere 256 characters available in ASCII.