|
Why Use GOLD? |
|
Advantages of the GOLD Parsing System |
|
|
|
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:
|
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:
For information about different the programming languages supported by GOLD and other
parsing systems, please see the Parser Comparison page. |
|
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. |
|
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. |
|
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. |
|
|
Some parser generators are quite expensive. GOLD is and will always be free. Please
read the Freeware License Agreement for more information |
|
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. |
|