Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.
Version 36 (modified by Abscissa, 13 years ago)
Big update

[ Forum ] [ Prepackaged Downloads ] [ Main Homepage and Documentation ]

Welcome to Goldie

Goldie's version control, ticket system, and message board are hosted here on DSource, but the main homepage for Goldie has moved here:

Main Homepage: http://www.semitwist.com/goldie/

Goldie is a series of flexible and comprehensive open-source parsing tools, including a D programming language (D v2.x) library called GoldieLib. It's compatible with GOLD Parser Builder and can be used together with it, but does not require it. In fact, Goldie can be used as a cross-platform, shell-scripting-compatible alternative to GOLD Parser Builder.

Some of Goldie's benefits:

(most are thanks to Goldie's compatibility with GOLD Parser Builder)

Grammars are fully-reusable

No need to create a new grammar for every use and every host language. Many grammars are already available.

Grammar-agnostic engine

One lexer/parser engine can be used for all grammars.

Engines for nearly any language or platform

A cross-platform D v2.x engine is included via GoldieLib. Engines for many other platforms are also available. New engines are easy to write.

Dynamic-Style

Dynamic-style lets you write programs that support user-created grammars.

Static-Style

Static-style provides compile-time checks and extra type-safety.

Lexing and parsing

Lexing and parsing are defined in the same file and handled by one unified tool.

Many tools available

See the Goldie's Tools page.

Goldie is fully-usable and has been tested on both Windows and Linux (it should also work on OSX and any other platform supported by DMD, but has not been tested), although GoldieLib's API is still subject to change. Goldie is licensed under The zlib/libpng License.

Starting Points

Projects that use Goldie

  • HaxePreD: An implementation of Haxe's preprocessor (Uses Goldie for conditional expressions)

Trac

TracGuide -- Built-in Trac Documentation

For a complete list of local wiki pages, see TitleIndex.