view doc/misc/html/ugcont.html @ 21:1c9dac05d040

Add lint-style FALLTHROUGH annotations to fallthrough cases. (in the parse engine and thus the output code) Document this, because the old output causes warnings with gcc10.
author David A. Holland
date Mon, 13 Jun 2022 00:04:38 -0400
parents 13d2b8934445
children
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title>AnaGram User's Guide - Table of Contents</Title>
</HEAD>
<BODY BGCOLOR="#ffffff" BACKGROUND="tilbl6h.gif"
 TEXT="#000000" LINK="#0033CC"
 VLINK="#CC0033" ALINK="#CC0099">

<P>
<IMG ALIGN="right" SRC="images/agrsl6c.gif" ALT="AnaGram"
         WIDTH=124 HEIGHT=30>
<BR CLEAR="RIGHT">
</P>

Back to <A HREF="index.html">Index</A>
<P>
<IMG ALIGN="bottom" SRC="images/rbline6j.gif" ALT="----------------------"
        WIDTH=1010 HEIGHT=2  >

<P>
<H1> AnaGram User's Guide</H1>
<H2>Table of Contents</H2>
<IMG ALIGN="bottom" SRC="images/rbline6j.gif" ALT="----------------------"
        WIDTH=1010 HEIGHT=2  >

<H3>Chapter 1: Introduction to AnaGram</H3>
<H3>Chapter 2: Getting Started</H3>
2.1 Hardware and Software Requirements<BR>
2.2 Installation<BR>
2.3 Configuration<BR>
2.4 Familiarizing Yourself with AnaGram<BR>
2.5 Guide to this Manual<BR>
2.6 Examples<BR>
<H3>Chapter 3: Running AnaGram</H3>
3.1 Overview<BR>
3.2 Executables<BR>
3.3 Input Files<BR>
3.4 Output Files<BR>
3.5 AnaGram's Help<BR>
3.6 Control Panel Components<BR>
3.6.1 Action Menu<BR>
3.6.2 Browse Menu<BR>
3.6.3 Options Menu<BR>
3.6.4 Windows Menu<BR>
3.6.5 Help Menu<BR>
3.6.6 Control Panel Toolbar<BR>
3.6.7 Status Indicator<BR>
3.6.8 Search<BR>
3.7 Statistical Summary<BR>
3.8 Auxiliary Windows Pop up Menu<BR>
3.9 Keyboard Control<BR>
<H3>Chapter 4: Introduction to Syntax Directed Parsing</H3>
4.1 Describing an Input Sequence<BR>
4.2 How a Parser Works<BR>
4.3 A Note on Notation<BR>
4.4 Reduction Procedures<BR>
4.5 Building a Parser<BR>
4.6 Special Features of AnaGram<BR>
<H3>Chapter 5: Exploring Your Grammar I: Traces</H3>
5.1 Introduction<BR>
5.2 Trace Windows<BR>
	5.2.1 Parser Stack Pane<BR>
	5.2.2 Rule Stack Pane<BR>
	5.2.3 Reduction Choices Pane<BR>
	5.2.4 Parse Status<BR>
5.3 File Trace<BR>
	5.3.1 Starting File Trace<BR>
	5.3.2 Test File Pane<BR>
	5.3.3 File Trace Toolbar<BR>
5.4 Grammar Trace<BR>
	5.4.1 Allowable Input Pane<BR>
	5.4.2 Text Entry Field<BR>
	5.4.3 Grammar Trace Toolbar<BR>
5.5 Other Traces<BR>
	5.5.1 Error Trace<BR>
	5.5.2 Conflict and Reduction Traces<BR>
	5.5.3 Keyword Anomaly Trace<BR>
	5.5.4 Auxiliary Trace<BR>
5.6 Trace Coverage<BR>
<H3>Chapter 6: Exploring Your Grammar II: Grammar Tables</H3>
6.1 Purpose of This Chapter<BR>
6.2 Formats and Display Conventions<BR>
6.3 Character Sets<BR>
6.4 The Elements of Your Grammar<BR>
6.5 State Tables<BR>
6.6 Coverage Analysis Tables<BR>
<H3>Chapter 7: Exploring Your Grammar III: Diagnostic Windows</H3>
7.1 The Warnings Window<BR>
7.2 The Conflicts Window<BR>
7.3 The Resolved Conflicts Window<BR>
7.4 Conflicts<BR>
7.4.1 Shift-Reduce Conflicts<BR>
7.4.2 Identifying Ambiguities<BR>
7.4.3 Rule and Token Derivation Windows<BR>
7.4.4 Resolving Ambiguities<BR>
7.4.5 Null Productions<BR>
7.4.6 Reduce-Reduce Conflicts<BR>
7.4.7 Identifying Reduce-Reduce Conflicts<BR>
7.4.8 Resolving Reduce-Reduce Conflicts<BR>
7.4.9 Conflicts due to LALR-1 Simplifications<BR>
7.5 Keyword Anomalies<BR>
7.5.1 The Keyword Anomalies Window<BR>
7.5.2 Dealing with Keyword Anomalies<BR>
<H3>Chapter 8: Syntax Files</H3>
8.1 Lexical Conventions<BR>
8.1.1 Statements<BR>
8.1.2 Spaces and Tabs<BR>
8.1.3 Continuation Lines<BR>
8.1.4 Comments<BR>
8.1.5 Blank Lines and Form Feeds<BR>
8.2 Elements of Grammars<BR>
8.2.1 Names<BR>
8.2.2 Reserved Words<BR>
8.2.3 Variable Names<BR>
8.2.4 Terminal Tokens<BR>
8.2.5 Character Representations<BR>
8.2.6 Character Ranges<BR>
8.2.7 Character Sets<BR>
8.2.8 Keyword Strings<BR>
8.2.9 Type Specifications For Tokens<BR>
8.2.10 Productions<BR>
8.2.11 Grammar Token<BR>
8.2.12 Grammar Rules<BR>
8.2.13 Reduction Procedures<BR>
8.2.14 Immediate Actions<BR>
8.2.15 Virtual Productions<BR>
8.2.16 Definition Statements<BR>
8.2.17 Embedded C<BR>
8.2.18 Configuration Sections<BR>
8.2.19 Setting Configuration Parameters<BR>
8.2.20 Precedence Declarations<BR>
8.2.21 "Sticky" Declarations<BR>
8.2.22 Distinguish Keywords Statement<BR>
8.2.23 "Hidden" Declarations<BR>
8.2.24 Disregard Statement<BR>
8.2.25 Lexeme Statement<BR>
8.2.26 Enum Statement<BR>
8.2.27 Subgrammar Declarations<BR>
8.2.28 Reserve Keywords Declaration<BR>
8.2.29 Rename Macro Statement<BR>
<H3>Chapter 9: Programming With AnaGram</H3>
9.1 General Aspects<BR>
9.1.1 Program Development<BR>
9.1.2 The Default Parser<BR>
9.1.3 The Content of the Parser and Header Files<BR>
9.1.4 Naming Output Files<BR>
9.1.5 Compiling Your Parser<BR>
9.1.6 Naming Your Parser<BR>
9.1.7 The Parser Control Block<BR>
9.1.8 Calling Your Parser<BR>
9.1.9 Parser Return Value<BR>
9.1.10 Defining Token Types<BR>
9.1.11 Debugging Your Parser<BR>
9.2 Providing Input to Your Parser<BR>
9.2.1 The GET_INPUT Macro<BR>
9.2.2 Pointer Input<BR>
9.2.3 Event Driven Parsers<BR>
9.2.4 Token Input<BR>
9.2.5 Identifying Tokens using Predefined Token Numbers<BR>
9.2.6 Identifying Tokens using AnaGram's Token Numbers<BR>
9.2.7 Providing Token Values<BR>
9.3 Error Handling<BR>
9.3.1 Implementation Errors<BR>
 - Stack Overflow<BR>
 - Reduction Token Error<BR>
9.3.2 Syntax Errors<BR>
 - Line and Column Tracking<BR>
 - Diagnostic Messages<BR>
 - Error Frame<BR>
 - SYNTAX_ERROR Macro<BR>
9.4 Error Recovery<BR>
9.4.1 Error Token Resynchronization<BR>
9.4.2 Automatic Resynchronization<BR>
9.4.3 Other Ways to Continue<BR>
9.5 Advanced Techniques<BR>
9.5.1 Semantically Determined Productions<BR>
9.5.2 Defining Parser Control Blocks<BR>
9.5.3 Multi-stage Parsing<BR>
9.5.4 Context Tracking<BR>
9.5.5 Coverage Analysis<BR>
9.5.6 Using Precedence Operators<BR>
9.5.7 Parser Performance<BR>
<H3>Appendix A: Configuration Parameters</H3>
<H3>Appendix B: Warning and Error Messages</H3>
<H3>Appendix C: Alphabetic Listing of Windows</H3>
<H3>Appendix D: Syntactic Building Blocks</H3>
<H3>Appendix E: Parser Control Block</H3>
<H3>Appendix F: Glossary</H3>
<H3>Index</h3>

<P>
<BR>

<IMG ALIGN="bottom" SRC="images/rbline6j.gif" ALT="----------------------"
      WIDTH=1010 HEIGHT=2 >
<P>
<IMG ALIGN="right" SRC="images/pslrb6d.gif" ALT="Parsifal Software"
                WIDTH=181 HEIGHT=25>
<BR CLEAR="right">
Back to <A HREF="index.html">Index</A>
<P>
<ADDRESS><FONT SIZE="-1">
                  AnaGram User's Guide<BR>
                  Table of Contents<BR>
                  Copyright &copy; 1993-1999, Parsifal Software. <BR>
                  All Rights Reserved.<BR>
</FONT></ADDRESS>

</BODY>
</HTML>