| GOLD is a free parsing
system that you can use to develop your own programming languages, scripting languages and
interpreters. It strives to be a development tool that can be used with numerous
programming languages and on multiple platforms. Are you new to parsing? If so, please
check out the following:
Have any questions? Please check out either of the two forums below are contact me directly.
Design
Like most parsing systems, GOLD uses the LALR
algorithm to analyze syntax and a Deterministic
Finite Automaton to identify different lexical units. However, GOLD takes a different
approach than common compiler-compilers.
The LALR and DFA algorithms are simple automatas - using lookup tables to determine
both state transition and parsing actions. As a result, most of the computational work is
performed before any text is parsed. It is the computation of these tables that is both
time-consuming and complex. Once created, these parsing tables are essentially independent
of any programming language. Data is simply data.
GOLD takes a unique approach of logically separating the development of the LALR and
DFA parse tables from the algorithms that use them. As a result, GOLD does not
require you to embed your source code directly into the grammar. Grammars are
completely independent of any implementation language or platform. Instead, the
application analyzes the grammar and then saves the parse tables to a separate file. This
file can be subsequently loaded by the actual parser engine and used.
As a result, the parsing engine can be, and has been, easily implemented in multiple
programming languages. As a result, GOLD supports a myriad of programming languages - more
than any other parsing system.
Project Name
"GOLD" is an acronym for Grammar Oriented
Language Developer. Admittedly, this is
not a particularly clever acronym, but it does, in part, represent the history of the
greater Sacramento Area. |