Goldie: FAQ

Goldie
Parsing System (v0.4)
Goldie Home (v0.4)
Getting Started

- Requirements
- Download / Install
- Never Used a Parsing Tool?
- How To Use Goldie
- Grammar Definition Language
- Message Board
- Ticket System

Goldie's Tools

- DumpCGT
- GenDocs
  - Template Format
- GRMC: Grammar Compiler
- JsonViewer
  - Parse Tree Mode
- Parse
- StaticLang
- Other Tools

GoldieLib Overview

- Static And Dynamic Styles
- Ambiguous Symbols

GoldieLib Reference

- Base
- Exception
- class Language
- class Lexer
- class Parser
- struct Symbol
- class Token
- Ver

GoldieLib Sample Apps

- Calculator Dynamic
- Calculator Static
- Parse Anything

CGT File Format
FAQ
Change Log
If You Use Trunk
Future Work
Developers

- Library Source and StaticLang

Goldie Home (v0.4) -> FAQ

# FAQ

## Q: How can I use Goldie to create a compiler?

A: The Never Used a Parsing Tool? page contains an overview of everything involved in creating a full compiler.

## Q: How do I refer to a rule that has no subtokens?

A: See Referring to a rule that has no subtokens on the GoldieLib Overview page.

## Q: My code is running slow and/or using a lot of memory!

A: There are couple possible causes:

- Does your grammar use any of GOLD's extended character sets (such as {Letter Extended} or {Printable Extended})?

  Goldie doesn't do character set optimization yet (although it is planned), so large character sets are likely to be slow and memory-intensive. Try sticking with ASCII-only in your grammar until Goldie implements this optimization.

- Are you making heavy use of Language.ruleIdOf?

  Language.ruleIdOf currently uses a quick-and-dirty implementation that is likely to be slow. Try reducing your reliance on it, or caching its results, until it can be optimized.

## Q: Why the name "Goldie"?

A: "GOLD for D" -> "GOLD D" -> "Goldie"

## Q: Are these questions really frequently-asked?

A: No, I'm just anticipating them.