Introduction | 3 |
1. System overview | 3 |
1.1. Principal design of the input grammar | 3 |
1.2. Implementation | 3 |
1.3. Interaction of system components | 4 |
2. The generator input | 5 |
2.1. Overview | 5 |
2.2. Options | 5 |
2.3. Lexical considerations | 7 |
2.4. classes and terminals section | 8 |
2.5. typename section | 10 |
2.6. axiom and productions section: the input grammar | 12 |
2.7. Meaning of the input grammar | 14 |
2.7.1. Introduction | 14 |
2.7.2. Operators | 16 |
2.7.3. Construction of G' and G" from G | 17 |
3. Actions and output of the generator | 24 |
3.1. The input reader | 24 |
3.1.1. Base system of the input reader | 24 |
3.1.2. The scheduler | 25 |
3.1.3. The options reader | 25 |
3.1.4. The classes reader | 26 |
3.1.5. The terminals reader | 26 |
3.1.6. The typename reader | 27 |
3.1.7. The grammar reader | 27 |
3.2. The reduction checker | 29 |
3.3. The first- and follow-set computer | 29 |
3.4. ELL condition checker | 29 |
3.5. Tree condition checker | 31 |
3.6. Optran tree grammar computation | 33 |
3.7. The real code generator | 36 |
3.8. The grammar graph printer | 36 |
4. The generated parsers | 38 |
4.1. Introduction | 38 |
4.2. Common properties of the generated parsers | 38 |
4.3. The 'notr' parser | 39 |
4.4. The 'tree' parser | 39 |
4.5. The 'muen' parser | 40 |
4.6. The 'incr' parser | 41 |
Appendix A: Summary of the syntax of the generator input | 41 |
References | 43 |
Table of contents | 44 |
Reinhold Heckmann / heckmann@absint.com