Goldie: Parse

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

- Requirements
- Download / Install
- Never Used a Parsing Tool?
- Goldie Overview
- Beginner's Tutorial
- Grammar Definition Language
- Contact / Support
  - Message Board
  - Issue Tracking

Goldie's Tools

- AlterCGT
- 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 Static
- Calculator Dynamic
- Sample Generic Parse

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

- Scripts for Developers
- Library Source and StaticLang

Goldie Home (v0.9) -> Goldie's Tools -> Parse

# Parse

Parses any source according to any CGT file, and saves the resulting tokens and parse tree to JSON files. These JSON files can be inspected with the enhanced version of JsonViewer bundled with Goldie.

### Example:

If the file extension of your source is the same as the name of a CGT file in Goldie's lang/ directory:

>goldie-parse lang/valid_sample2.calc

To use a specific CGT file:

>goldie-parse --lang=/home/me/myLanguages/calc.cgt lang/valid_sample2.calc

The above examples will create the following files in the same directory as valid_sample2.calc:

valid_sample2.calc.tk.json valid_sample2.calc.pt.json

The .tk.json file contains the tokenization of valid_sample2.calc. Ie, the result of the Lexing phase.

The .pt.json file contains the parse tree of valid_sample2.calc. Ie, the result of the Parsing phase.

Either of the .json files can be opened in JsonViewer and will be browsable using JsonViewer's Parse Tree Mode.

Note: Keep in mind, especially when using Parse with JsonViewer, that parse trees tend to get very large, very fast.

### Command-line parameters:

Usage: goldie-parse [options] source-file [options] Examples: goldie-parse lang/valid_sample2.calc goldie-parse lang/valid_sample2.calc --lang=lang/calc.cgt If --lang is not specified, goldie-parse will look in Goldie's own 'lang' subdirectory for a CGT file with a name matching the source file's extension. --help, /? Displays this help screen -l, --lang <cgt> CGT file of language (default: "{goldie}/lang/{src ext}.cgt") --pto <filename> Parse tree output filename --tko <filename> Token output filename --no-pt Don't save parse tree --no-tk Don't save tokens -p, --pretty Pretty format output -t, --type <type> Output type: "json" or "xml" (default: "json") --debug Display debug information