The Project

The sid users' guide

DERA

Katherine Flavel (copyeditor), The TenDRA Project
Jeroen Ruigrok van der Werven (copyeditor), The TenDRA Project

2006


Table of Contents

1. Introduction
2. Grammars
2.1. Parsing
2.2. Context free grammars
2.3. sid grammars
3. Overview
3.1. Left recursion elimination
3.2. Factoring
3.3. Optimisations
4. Invocation
5. The sid grammar file
5.1. Lexical conventions
5.2. The type declaration section
5.3. The terminal declaration section
5.4. The rule definition section
5.5. The grammar entry points section
6. The C information file
6.1. Lexical conventions
6.2. The prefixes section
6.3. The maps section
6.4. The header section
6.5. The assignments section
6.6. The parameter assignments section
6.7. The result assignments section
6.8. The terminal result extraction section
6.9. The action definition section
6.10. The trailer section
7. Predicates
8. Error handling
9. Call by reference
10. Calling entry points
11. Glossary
Glossary
12. Understanding error messages
12.1. Left recursion elimination errors
12.2. First set computation errors
12.3. Factoring errors
12.4. Checking errors

List of Tables

6.1. Identifier prefixes