# Index

Symbols | A | B | C | D | E | F | G | I | L | M | N | O | P | R | S | T | U | V | W | Y

### Symbols

`<<EOF>>`: 2.1.1 Writing a Scanner Specification, 2.1.3 Using the Generated Scanner

`'EOF'`: 2.1.1 Writing a Scanner Specification, 2.2.3 The Mixin Class `GumpScanner.'class'`, 2.1.3 Using the Generated Scanner, Token Declarations

`'error'`: Token Declarations, 2.1.1 Writing a Scanner Specification, Syntax Rules

`'prec'`: Syntax Rules

### A

`abort`
  `GumpParser.'class'`: see `GumpParser.'class'`, `abort` (3.2.3 The Mixin Class `GumpParser.'class'`)

`accept`
  `GumpParser.'class'`: see `GumpParser.'class'`, `accept` (3.2.3 The Mixin Class `GumpParser.'class'`)

alternatives: Syntax Rules, 3.1.1 Writing a Parser Specification

ambiguities
  in a parser specification: 3.1.1 Writing a Parser Specification
  in a scanner specification: Ambiguities and Errors in the Rule Set

associativity: 3.1.1 Writing a Parser Specification

attributes
  inherited: Assignment of Attribute Types
  synthesized: Assignment of Attribute Types

### B

Baum, L. Frank: 1 Introduction

beginning-of-line: 2.2.3 The Mixin Class `GumpScanner.'class'`

best-fit matching: Ambiguities and Errors in the Rule Set, 2.2.2 Parameters to Scanner Generation

bison: 3.2.2 Parameters to Parser Generation, 3.1.1 Writing a Parser Specification, Syntax Rules, 3.1.2 Invoking Gump, Acknowledgements, Token Declarations

buffer stack: 2.2.3 The Mixin Class `GumpScanner.'class'`, 2.1.3 Using the Generated Scanner

### C

C++: 2.2.2 Parameters to Scanner Generation, 2.1.2 Invoking Gump, 2.1.3 Using the Generated Scanner

`clearLookahead`
  `GumpParser.'class'`: see `GumpParser.'class'`, `clearLookahead` (3.2.3 The Mixin Class `GumpParser.'class'`)

`close`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `close` (2.1.3 Using the Generated Scanner)

`closeBuffer`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `closeBuffer` (2.1.3 Using the Generated Scanner), see `GumpScanner.'class'`, `closeBuffer` (2.2.3 The Mixin Class `GumpScanner.'class'`)

comments: 2.1.1 Writing a Scanner Specification

compiler
  parser specifications: 3.1.2 Invoking Gump
  scanner specifications: 2.1.2 Invoking Gump
  switch
    `gump`: 2.1.2 Invoking Gump, 3.1.2 Invoking Gump
    `gumpparserexpect`: 3.2.2 Parameters to Parser Generation
    `gumpparseroutputsimplified`: 3.1.2 Invoking Gump, 3.2.2 Parameters to Parser Generation, 3.1.1 Writing a Parser Specification
    `gumpparserverbose`: 3.1.2 Invoking Gump, 3.1.1 Writing a Parser Specification, 3.2.2 Parameters to Parser Generation
    `gumpscannerbestfit`: 2.2.2 Parameters to Scanner Generation
    `gumpscannercaseless`: 2.2.2 Parameters to Scanner Generation
    `gumpscannernowarn`: 2.2.2 Parameters to Scanner Generation
    `gumpscannerprefix`: 2.2.2 Parameters to Scanner Generation
  warnings: 2.2.2 Parameters to Scanner Generation

`currentMode`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `currentMode` (2.2.3 The Mixin Class `GumpScanner.'class'`)

### D

dynamic library: 2.1.2 Invoking Gump

### E

EBNF: 3.1.1 Writing a Parser Specification, Definition of Production Templates

Emacs: 2.1.2 Invoking Gump, 2.1.1 Writing a Scanner Specification

empty sequence: Syntax Rules

end-of-file: Token Declarations, 2.1.1 Writing a Scanner Specification

`error`
  `GumpParser.'class'`: see `GumpParser.'class'`, `error` (3.1.1 Writing a Parser Specification), see `GumpParser.'class'`, `error` (3.2.3 The Mixin Class `GumpParser.'class'`)

error
  in a scanner's rule set: Ambiguities and Errors in the Rule Set
  in parser attribute types: Assignment of Attribute Types
  lexical: 2.1.1 Writing a Scanner Specification
  recovery: Syntax Rules, 3.2.3 The Mixin Class `GumpParser.'class'`, Token Declarations
  syntax: Syntax Rules, 3.1.1 Writing a Parser Specification
  token: Token Declarations, 2.1.1 Writing a Scanner Specification

`errorOK`
  `GumpParser.'class'`: see `GumpParser.'class'`, `errorOK` (3.2.3 The Mixin Class `GumpParser.'class'`)

Extended Backus-Naur-Formalism: 3.1.1 Writing a Parser Specification

### F

file
  created by Gump: 3.1.2 Invoking Gump, 2.1.2 Invoking Gump, 3.2.1 Syntax of the Parser Specification Language, 2.2.1 Syntax of the Scanner Specification Language
  extension `.ozg`: 3.1.2 Invoking Gump, 2.1.2 Invoking Gump
  not found exception: 2.2.3 The Mixin Class `GumpScanner.'class'`
  scanning from: 2.1.1 Writing a Scanner Specification, 2.2.3 The Mixin Class `GumpScanner.'class'`, 2.1.3 Using the Generated Scanner

first-fit matching: Ambiguities and Errors in the Rule Set

flex: 2.1.1 Writing a Scanner Specification, Syntax of Regular Expressions, 2.1.2 Invoking Gump, 2.2.2 Parameters to Scanner Generation, Acknowledgements

fontification: 2.1.1 Writing a Scanner Specification, 2.1.2 Invoking Gump

foreign library: 2.1.2 Invoking Gump

### G

`getAtom`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `getAtom` (2.1.1 Writing a Scanner Specification), see `GumpScanner.'class'`, `getAtom` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`getBOL`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `getBOL` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`getInteractive`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `getInteractive` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`getScanner`
  `GumpParser.'class'`: see `GumpParser.'class'`, `getScanner` (3.2.3 The Mixin Class `GumpParser.'class'`)

`getString`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `getString` (2.2.3 The Mixin Class `GumpScanner.'class'`), see `GumpScanner.'class'`, `getString` (2.2.3 The Mixin Class `GumpScanner.'class'`), see `GumpScanner.'class'`, `getString` (2.1.1 Writing a Scanner Specification)

`getToken`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `getToken` (2.2.3 The Mixin Class `GumpScanner.'class'`), see `GumpScanner.'class'`, `getToken` (3.2.3 The Mixin Class `GumpParser.'class'`), see `GumpScanner.'class'`, `getToken` (2.1.3 Using the Generated Scanner), see `GumpScanner.'class'`, `getToken` (3.1.3 Using the Generated Parser)

`GetTokens`: 2.1.3 Using the Generated Scanner

grammar symbol applications: 3.1.1 Writing a Parser Specification

Gump: 1 Introduction

`GumpParser.'class'`: 3.2.3 The Mixin Class `GumpParser.'class'`

`GumpParser.'class'`
  `abort`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `accept`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `clearLookahead`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `error`: 3.1.1 Writing a Parser Specification
  `error`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `errorOK`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `getScanner`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `init`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `lookaheadSymbol`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `lookaheadValue`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `noLookahead`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `parse`: 3.1.3 Using the Generated Parser
  `parse`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `raiseError`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `synExecuteAction`: 3.2.3 The Mixin Class `GumpParser.'class'`

`GumpScanner.'class'`: 2.1.1 Writing a Scanner Specification, 2.1.3 Using the Generated Scanner, 2.2.3 The Mixin Class `GumpScanner.'class'`

`GumpScanner.'class'`
  `close`: 2.1.3 Using the Generated Scanner
  `closeBuffer`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `closeBuffer`: 2.1.3 Using the Generated Scanner
  `currentMode`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getAtom`: 2.1.1 Writing a Scanner Specification
  `getAtom`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getBOL`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getInteractive`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getString`: 2.1.1 Writing a Scanner Specification
  `getString`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getString`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `getToken`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `getToken`: 2.1.3 Using the Generated Scanner
  `getToken`: 3.1.3 Using the Generated Parser
  `getToken`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `init`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `input`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `lexer`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `lexExecuteAction`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `putToken`: 3.2.3 The Mixin Class `GumpParser.'class'`
  `putToken`: 2.1.1 Writing a Scanner Specification
  `putToken`: 3.1.3 Using the Generated Parser
  `putToken`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `putToken1`: 2.1.1 Writing a Scanner Specification
  `putToken1`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `scanFile`: 2.1.3 Using the Generated Scanner
  `scanFile`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `scanVirtualString`: 2.1.3 Using the Generated Scanner
  `scanVirtualString`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `setBOL`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `setInteractive`: 2.2.3 The Mixin Class `GumpScanner.'class'`
  `setMode`: 2.2.3 The Mixin Class `GumpScanner.'class'`

### I

inherited attributes: Assignment of Attribute Types

inheriting
  from lexical modes: 2.2.1 Syntax of the Scanner Specification Language

`init`
  `GumpParser.'class'`: see `GumpParser.'class'`, `init` (3.2.3 The Mixin Class `GumpParser.'class'`)
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `init` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`INITIAL`: 2.2.1 Syntax of the Scanner Specification Language

`input`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `input` (2.2.3 The Mixin Class `GumpScanner.'class'`)

interactive scanning: 2.2.3 The Mixin Class `GumpScanner.'class'`

### L

Lambda
  language used as example: 2.1 Example, 3.1 Example

`leftAssoc`: Token Declarations

lex: Acknowledgements

lexemes: 2 The Gump Scanner Generator

`lexer`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `lexer` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`lexExecuteAction`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `lexExecuteAction` (2.2.3 The Mixin Class `GumpScanner.'class'`)

lexical abbreviation: 2.2.1 Syntax of the Scanner Specification Language, 2.1.1 Writing a Scanner Specification

lexical errors: 2.1.1 Writing a Scanner Specification

lexical modes: 2.2.1 Syntax of the Scanner Specification Language, Syntax of Regular Expressions, 2.2.3 The Mixin Class `GumpScanner.'class'`

lexical rule: 2.2.1 Syntax of the Scanner Specification Language, 2.1.1 Writing a Scanner Specification

limitations
  of the scanner generator: 2.1.2 Invoking Gump

line numbers: 2.1.1 Writing a Scanner Specification, 3.1.1 Writing a Parser Specification

local variables: 3.1.1 Writing a Parser Specification, Syntax Rules

`lookaheadSymbol`
  `GumpParser.'class'`: see `GumpParser.'class'`, `lookaheadSymbol` (3.2.3 The Mixin Class `GumpParser.'class'`)

`lookaheadValue`
  `GumpParser.'class'`: see `GumpParser.'class'`, `lookaheadValue` (3.2.3 The Mixin Class `GumpParser.'class'`)

LR(1): Assignment of Attribute Types

### M

macro directives: 3.2.2 Parameters to Parser Generation, 2.2.2 Parameters to Scanner Generation

### N

native functor: 2.1.2 Invoking Gump

nesting marker: 3.1.1 Writing a Parser Specification

newline: 2.2.3 The Mixin Class `GumpScanner.'class'`

`noLookahead`
  `GumpParser.'class'`: see `GumpParser.'class'`, `noLookahead` (3.2.3 The Mixin Class `GumpParser.'class'`)

`nonAssoc`: Token Declarations

nonterminal
  start: 3.1.1 Writing a Parser Specification

nonterminal symbols: 3 The Gump Parser Generator

NUL: 2.2.3 The Mixin Class `GumpScanner.'class'`, 2.2.3 The Mixin Class `GumpScanner.'class'`

### O

option: Definition of Production Templates

### P

`parse`
  `GumpParser.'class'`: see `GumpParser.'class'`, `parse` (3.2.3 The Mixin Class `GumpParser.'class'`), see `GumpParser.'class'`, `parse` (3.1.3 Using the Generated Parser)

parse errors: Syntax Rules, 3.1.1 Writing a Parser Specification

parser: 3 The Gump Parser Generator

parser
  generator: 3 The Gump Parser Generator

pattern position: 3.1.1 Writing a Parser Specification

precedence: 3.1.1 Writing a Parser Specification, Syntax Rules

precedence token: 3.1.1 Writing a Parser Specification

production templates: Definition of Production Templates, Definition of Production Templates

production templates
  predefined: Predefined Production Templates

pseudo-token: 3.1.1 Writing a Parser Specification, 3.1.1 Writing a Parser Specification

`putToken`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `putToken` (3.1.3 Using the Generated Parser), see `GumpScanner.'class'`, `putToken` (2.2.3 The Mixin Class `GumpScanner.'class'`), see `GumpScanner.'class'`, `putToken` (3.2.3 The Mixin Class `GumpParser.'class'`), see `GumpScanner.'class'`, `putToken` (2.1.1 Writing a Scanner Specification)

`putToken1`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `putToken1` (2.2.3 The Mixin Class `GumpScanner.'class'`), see `GumpScanner.'class'`, `putToken1` (2.1.1 Writing a Scanner Specification)

### R

`raiseError`
  `GumpParser.'class'`: see `GumpParser.'class'`, `raiseError` (3.2.3 The Mixin Class `GumpParser.'class'`)

reduction: 3 The Gump Parser Generator

regular expressions: 2 The Gump Scanner Generator

regular expressions
  syntax: 2.1.1 Writing a Scanner Specification, Syntax of Regular Expressions

repetition: 3.1.1 Writing a Parser Specification, Definition of Production Templates

repetition
  predefined operators: Predefined Production Templates

`rightAssoc`: Token Declarations

### S

`scanFile`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `scanFile` (2.1.3 Using the Generated Scanner), see `GumpScanner.'class'`, `scanFile` (2.2.3 The Mixin Class `GumpScanner.'class'`)

scanner: 2 The Gump Scanner Generator

scanner
  generator: 2 The Gump Scanner Generator

`scanVirtualString`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `scanVirtualString` (2.1.3 Using the Generated Scanner), see `GumpScanner.'class'`, `scanVirtualString` (2.2.3 The Mixin Class `GumpScanner.'class'`)

semantic actions: 3.1.1 Writing a Parser Specification, Syntax Rules, 2 The Gump Scanner Generator, 3 The Gump Parser Generator

`setBOL`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `setBOL` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`setInteractive`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `setInteractive` (2.2.3 The Mixin Class `GumpScanner.'class'`)

`setMode`
  `GumpScanner.'class'`: see `GumpScanner.'class'`, `setMode` (2.2.3 The Mixin Class `GumpScanner.'class'`)

side effects: 2.1.1 Writing a Scanner Specification

`skip`: Syntax Rules

start conditions: Syntax of Regular Expressions, 2.2.3 The Mixin Class `GumpScanner.'class'`, 2.2.1 Syntax of the Scanner Specification Language

start symbols: 3 The Gump Parser Generator, 3.2.3 The Mixin Class `GumpParser.'class'`, 3.1.1 Writing a Parser Specification

`synExecuteAction`
  `GumpParser.'class'`: see `GumpParser.'class'`, `synExecuteAction` (3.2.3 The Mixin Class `GumpParser.'class'`)

syntax errors: Syntax Rules, 3.1.1 Writing a Parser Specification

syntax rules: Syntax Rules, 3.1.1 Writing a Parser Specification

synthesized attributes: Assignment of Attribute Types

### T

terminal symbols: 3 The Gump Parser Generator

Tin Woodman: 1 Introduction

token
  class: 2 The Gump Scanner Generator
  declaration: 3.1.1 Writing a Parser Specification, Token Declarations
  end-of-file: Token Declarations, 2.1.1 Writing a Scanner Specification
  error: Token Declarations, 2.1.1 Writing a Scanner Specification
  stream: 3 The Gump Parser Generator, 2 The Gump Scanner Generator
  value: Syntax Rules, 2 The Gump Scanner Generator

### U

unmatched characters: 2.1.1 Writing a Scanner Specification

### V

virtual string
  scanning from: 2.1.3 Using the Generated Scanner, 2.2.3 The Mixin Class `GumpScanner.'class'`

### W

warnings
  suppressing: 2.2.2 Parameters to Scanner Generation

whitespace: 2.1.1 Writing a Scanner Specification

### Y

yacc: Acknowledgements