1 /* ACTION.H: Symbols for all PCB action codes. */
2 /* CONACT.H: Symbols for content parse action names (end with '_').
3              There must be no conflict with PARSEACT.H, which
4              uses 0 through 19, or SGMLACT.H, which uses 20 through 32
5              (except that 31 - 32 can be defined here because they are
6              used only by PARSEPRO and do not conflict with SGML.C).
7 */
8 #define CIR_   31   /* Invalid character(s) ignored in MDS; restarting parse. */
9 #define DTD_   32   /* Process DOCTYPE declaration. */
10 #define DTE_   33   /* End of DOCTYPE declaration. */
11 #define PEP_   34   /* TEMP: Previous character ended prolog. */
12 #define DAS_   35   /* Current character begins data. */
13 #define FCE_   36   /* Process free character (SR12-18, 21-30). */
14 #define DCE_   37   /* Data character in element text; change PCB. */
15 #define LAS_   38   /* Start lookahead buffer with current character. */
16 #define LAM_   39   /* Move character to lookahead buffer. */
17 #define LAF_   40   /* Flush the lookahead buffer; REPEATCC. */
18 #define NED_   41   /* Process null end-tag delimiter. */
19 #define NET_   42   /* Process null end-tag. */
20 #define NST_   43   /* Process null start-tag. */
21 #define NLF_   44   /* Flush lookahead buffer except for trailing NET or SR. */
22 #define ETC_   45   /* End-tag in CDATA or RCDATA; treat as data if invalid. */
23 #define SRMIN  46   /* Dummy for SHORT REFERENCES: srn = SRn - SRMIN. */
24 #define SR1_   47   /* TAB */
25 #define SR2_   48   /* RE */
26 #define SR3_   49   /* RS */
27 #define SR4_   50   /* Leading blanks */
28 #define SR5_   51   /* Null record */
29 #define DAR_   52   /* Flush data buffer after repeating current character. */
30 #define SR7_   53   /* Trailing blanks */
31 #define SR8_   54   /* Space */
32 #define SR9_   55   /* Two or more blanks */
33 #define SR10   56   /* Quotation mark (first data character) */
34 #define SR11   57   /* Number sign */
35 #define SR12   58   /* FCE CHARACTERS start here */
36 /*         _   59   */
37 #define BSQ_   60   /* Blank sequence begun; find its end. */
38 /*             61      In use by PARSEACT.H */
39 /*             62      In use by PARSEACT.H */
40 /*             63      In use by PARSEACT.H */
41 /*             64      In use by PARSEACT.H */
42 #define SR19   65   /* Hyphen */
43 #define SR20   66   /* Two hyphens */
44 #define SR25   71   /* Left bracket */
45 #define SR26   72   /* Right bracket */
46 #define RBR_   73   /* Two right brackets. */
47 #define GTR_   74   /* EOB with pending data character */
48 #define MSP_   75   /* Marked section start in prolog outside DTD */
49 #define APP_   76   /* APPINFO (other than NONE) */
50 #define STE_   77   /* Start tag ended prolog */
51 #define ETE_   78   /* End tag ended prolog */
52 
53 /* GRPACT.H: Symbols for group tokenization action names (all alpha).
54              There must be no conflict with PARSEACT.H, which
55              uses 0 - 19.
56 */
57 #define AND    20   /* AND connector found. */
58 #define DTAG   21   /* Data tag token group occurred (treat as #CHARS). */
59 #define GRPE   22   /* Group ended. */
60 #define GRP_   23   /* Group started. */
61 #define NAS_   24   /* Name started in content model or name group. */
62 #define NMT_   25   /* Name or name token started in name token group. */
63 #define OPT    26   /* OPT occurrence indicator for previous token. */
64 #define OR     27   /* OR connector found. */
65 #define OREP   28   /* OREP occurrence indicator for previous token. */
66 #define REP    29   /* REP occurrence indicator for previous token. */
67 #define RNS_   30   /* Reserved name started (#PCDATA). */
68 #define SEQ    31   /* SEQ connector found. */
69 /* LITACT.H: Symbols for content parse action names (end with '_').
70              There must be no conflict with PARSEACT.H, which
71              uses 0 through 19.
72 */
73 #define MLA_   20   /* Move character to look-aside data buffer. */
74 #define LPR_   21   /* Move previous character to data buffer. */
75 #define RSM_   22   /* Process record start and move it to data buffer. */
76 #define FUN_   23   /* Replace function character with a space. */
77 #define LP2_   24   /* Move previous two characters to data buffer. */
78 #define MLE_   25   /* Minimum literal error: invalid character ignored. */
79 #define RPR_   26   /* Remove previous character from data buffer; terminate. */
80 #define TER_   27   /* Terminate the parse. */
81 /* MDACT.H: Symbols for markup declaration parse action names (all alpha).
82             There must be no conflict with PARSEACT.H, which
83             uses 0 - 19.
84 */
85 #define CDR    20   /* CD[1] (MINUS) occurred previously. */
86 #define EMD    21   /* End of markup declaration. */
87 #define GRPS   22   /* Group started. */
88 #define LIT    23   /* Literal started: character data. */
89 #define LITE   24   /* Literal started: character data; LITA is delimiter. */
90 #define MGRP   25   /* Minus exception group (MINUS,GRPO). */
91 #define NAS    26   /* Name started. */
92 #define NMT    27   /* Name token started. */
93 #define NUM    28   /* Number or number token started. */
94 #define PEN    29   /* Parameter entity name being defined (PERO found). */
95 #define PGRP   30   /* Plus exception group (PLUS,GRPO). */
96 #define RNS    31   /* Reserved name started. */
97 #define MDS    32   /* Markup declaration subset start. */
98 #define PENR   33   /* REPEATCC; PERO found. */
99 /* PARSEACT.H: Symbols for common parse action names (end with '_').
100                There must be no conflict with other action name
101                files, which use numbers greater than 19.
102 */
103 #define CRA_    1   /* Character reference: alphabetic. */
104 #define CRN_    2   /* Character reference: numeric; non-char refs o.k.. */
105 #define NON_    3   /* Single byte of non-character data found. */
106 #define EOF_    4   /* Error: illegal entity end; resume old input; return. */
107 #define ER_     5   /* Entity reference; start new input source; continue. */
108 #define GET_    6   /* EOB, EOS, or EE: resume old input source; continue. */
109 #define INV_    7   /* Error: invalid char terminated markup; repeat char. */
110 #define LEN_    8   /* Error: length limit exceeded; end markup; repeat char. */
111 #define NOP_    9   /* No action necessary. */
112 #define PCI_   10   /* Previous character was invalid. */
113 #define PER_   11   /* Parameter reference; start new input source; continue. */
114 #define RC2_   12   /* Back up two characters. */
115 #define RCC_   13   /* Repeat current character. */
116 #define RCR_   14   /* Repeat current character and return to caller. */
117 #define EE_    15   /* EOS or EE: resume old input source; return to caller. */
118 #define RS_    16   /* Record start: ccnt=0; ++rcnt. */
119 #define ERX_   17   /* Entity reference; start new input source; return. */
120 #define SYS_   18   /* Error allowed: SYSCHAR in input stream; replace it. */
121 #define EOD_   19   /* End of document. */
122 /* Number way out of order to avoid recompilation. */
123 #define NSC_   58   /* Handle DELNONCH/DELXNONCH when NON_ is allowed */
124 #define PEX_   61   /* Parameter entity ref; start new input source; return. */
125 #define DEF_   62   /* Data entity found. */
126 #define PIE_   63   /* PI entity found (needed in markup). */
127 #define LNR_   64   /* LEN_ error with extra REPEATCC. */
128 /* SGMLACT.H: Symbols for content parse action names (end with '_')
129               that are returned to SGML.C for processing.
130               There must be no conflict with PARSEACT.H, which
131               uses 0 through 19, or CONACT.H, which uses 34 and above.
132               (Note: 31 is also used in CONACT.H, but no conflict
133               is created because they are tested only in PARSEPRO.C, which
134               completes before SGML.C starts to examine those codes.
135               Also, when EOD_ is returned from PARSECON, it is changed
136               to LOP_.)
137 */
138 #define CON_   20   /* Normal content action (one of the following). */
139 #define DAF_   21   /* Data found. */
140 #define ETG_   22   /* Process end-tag. */
141 #define MD_    23   /* Process markup declaration (NAMESTRT found). */
142 #define MDC_   24   /* Process markup declaration comment (CD found). */
143 #define MSS_   25   /* Process marked section start. */
144 #define MSE_   26   /* Process marked section end. */
145 #define PIS_   27   /* Processing instruction (string). */
146 #define REF_   28   /* Record end found. */
147 #define STG_   29   /* Process start-tag. */
148 #define RSR_   30   /* Return RS to effect SGML state transition. */
149 #define LOP_   31   /* Loop for new content without returning anything. */
150 /* TAGACT.H: Symbols for tag parse action names (all alpha).
151              There must be no conflict with PARSEACT.H, which
152              uses 0 - 19.
153 */
154 #define AVD    20   /* Delimited attribute value started: normal delimiter. */
155 #define AVU    21   /* Undelimited value started. */
156 #define ETIC   22   /* Tag closed with ETI. */
157 #define NVS    23   /* Name of attribute or value started. */
158 #define NASV   24   /* Saved NAS was actually an NTV. */
159 #define NTV    25   /* Name token value started; get name and full value. */
160 #define TAGC   26   /* Tag closed normally. */
161 #define TAGO   27   /* Tag closed implicitly by TAGO character. */
162 #define AVDA   28   /* Delimited attribute value started: alternative delim. */
163 #define DSC    29   /* Closed by DSC character. */
164 /* VALACT.H: Symbols for attribute value tokenization action names (all alpha).
165 */
166 #define NOPA    0   /* No action necessary. */
167 #define INVA    1   /* Invalid character; terminate parse. */
168 #define LENA    2   /* Length limit of token exceeded; terminate parse. */
169 #define NASA    3   /* Name started. */
170 #define NMTA    4   /* Name token started. */
171 #define NUMA    5   /* Number or number token started. */
172 
173 /* SGML declaration parsing actions. */
174 
175 #define ESGD 20			/* End of SGML declaration. */
176 #define LIT1 21			/* Literal started. */
177 #define LIT2 22			/* Literal started with LITA delimiter. */
178 #define NUM1 23			/* Number started. */
179 #define NAS1 24			/* Name started. */
180 #define ISIG 25			/* Insignificant character occurred. */
181