The SID users' guide

  1. i. Introduction
  2. 1. Grammars
    1. 1.1. Parsing
    2. 1.2. Context free grammars
    3. 1.3. sid grammars
  3. 2. Overview
    1. 2.1. Left recursion elimination
    2. 2.2. Factoring
    3. 2.3. Optimisations
  4. 3. The sid grammar file
    1. 3.1. Lexical conventions
    2. 3.2. The type declaration section
    3. 3.3. The terminal declaration section
    4. 3.4. The rule definition section
    5. 3.5. The grammar entry points section
  5. 4. The C information file
    1. 4.1. Lexical conventions
    2. 4.2. The prefixes section
    3. 4.3. The persistent section
    4. 4.4. The maps section
    5. 4.5. The header section
    6. 4.6. The assignments section
    7. 4.7. The parameter assignments section
    8. 4.8. The result assignments section
    9. 4.9. The terminal result extraction section
    10. 4.10. The action definition section
    11. 4.11. The trailer section
  6. 5. Features
    1. 5.1. Predicates
    2. 5.2. Error handling
    3. 5.3. Call by reference
    4. 5.4. Calling entry points
  7. A. Understanding error messages
    1. A.1. Left recursion elimination errors
    2. A.2. First set computation errors
    3. A.3. Factoring errors
    4. A.4. Checking errors
  8. B. Advice on writing parsers with sid
    1. B.1. Handling EOF
    2. B.2. Adding common mistakes to the grammar
    3. B.3. Throwing exceptions inside exception handlers
    4. B.4. Continuing from an exception handler
    5. B.5. Manifesting semantic checks as syntax errors
    6. B.6. Implementing “panic mode”
    7. B.7. Duplicating token values