This is Unofficial EPICS BASE Doxygen Site
scan.c
Go to the documentation of this file.
1 /* A lexical scanner generated by flex */
2 
3 /* scanner skeleton */
4 
5 #define FLEX_SCANNER
6 
7 #include <stdio.h>
8 
9 
10 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
11 #ifdef c_plusplus
12 #ifndef __cplusplus
13 #define __cplusplus
14 #endif
15 #endif
16 
17 
18 #ifdef __cplusplus
19 
20 #include <stdlib.h>
21 #include <osfcn.h>
22 
23 #else /* ! __cplusplus */
24 #ifdef __GNUC__
25 #include <stddef.h>
26 void *malloc( size_t );
27 void free( void* );
28 #else
29 #include <stdlib.h>
30 #endif /* __GNUC__ */
31 
32 #endif /* ! __cplusplus */
33 
34 
35 /* amount of stuff to slurp up with each read */
36 #ifndef YY_READ_BUF_SIZE
37 #define YY_READ_BUF_SIZE 8192
38 #endif
39 
40 /* returned upon end-of-file */
41 #define YY_END_TOK 0
42 
43 /* copy whatever the last rule matched to the standard output */
44 
45 /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
46 /* this used to be an fputs(), but since the string might contain NUL's,
47  * we now use fwrite()
48  */
49 #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
50 
51 /* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
52  * is returned in "result".
53  */
54 #define YY_INPUT(buf,result,max_size) \
55  if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
56  YY_FATAL_ERROR( "read() in flex scanner failed" );
57 #define YY_NULL 0
58 
59 /* no semi-colon after return; correct usage is to write "yyterminate();" -
60  * we don't want an extra ';' after the "return" because that will cause
61  * some compilers to complain about unreachable statements.
62  */
63 #define yyterminate() return ( YY_NULL )
64 
65 /* report a fatal error */
66 
67 /* The funky do-while is used to turn this macro definition into
68  * a single C statement (which needs a semi-colon terminator).
69  * This avoids problems with code like:
70  *
71  * if ( something_happens )
72  * YY_FATAL_ERROR( "oops, the something happened" );
73  * else
74  * everything_okay();
75  *
76  * Prior to using the do-while the compiler would get upset at the
77  * "else" because it interpreted the "if" statement as being all
78  * done when it reached the ';' after the YY_FATAL_ERROR() call.
79  */
80 
81 #define YY_FATAL_ERROR(msg) \
82  do \
83  { \
84  (void) fputs( msg, stderr ); \
85  (void) putc( '\n', stderr ); \
86  exit( 1 ); \
87  } \
88  while ( 0 )
89 
90 /* default yywrap function - always treat EOF as an EOF */
91 #define yywrap() 1
92 
93 /* enter a start condition. This macro really ought to take a parameter,
94  * but we do it the disgusting crufty way forced on us by the ()-less
95  * definition of BEGIN
96  */
97 #define BEGIN yy_start = 1 + 2 *
98 
99 /* action number for EOF rule of a given start state */
100 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
101 
102 /* special action meaning "start processing a new file" */
103 #define YY_NEW_FILE \
104  do \
105  { \
106  yy_init_buffer( yy_current_buffer, yyin ); \
107  yy_load_buffer_state(); \
108  } \
109  while ( 0 )
110 
111 /* default declaration of generated scanner - a define so the user can
112  * easily add parameters
113  */
114 #define YY_DECL int yylex ( void )
115 
116 /* code executed at the end of each rule */
117 #define YY_BREAK break;
118 
119 #define YY_END_OF_BUFFER_CHAR 0
120 
121 #ifndef YY_BUF_SIZE
122 #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
123 #endif
124 
126 
127 #define YY_CHAR unsigned char
128 # line 1 "scan.l"
129 #define INITIAL 0
130 /* scan.l - scanner for flex input */
131 # line 5 "scan.l"
132 /*-
133  * Copyright (c) 1990 The Regents of the University of California.
134  * All rights reserved.
135  *
136  * This code is derived from software contributed to Berkeley by
137  * Vern Paxson.
138  *
139  * The United States Government has rights in this work pursuant
140  * to contract no. DE-AC03-76SF00098 between the United States
141  * Department of Energy and the University of California.
142  *
143  * Redistribution and use in source and binary forms are permitted provided
144  * that: (1) source distributions retain this entire copyright notice and
145  * comment, and (2) distributions including binaries display the following
146  * acknowledgement: ``This product includes software developed by the
147  * University of California, Berkeley and its contributors'' in the
148  * documentation or other materials provided with the distribution and in
149  * all advertising materials mentioning features or use of this software.
150  * Neither the name of the University nor the names of its contributors may
151  * be used to endorse or promote products derived from this software without
152  * specific prior written permission.
153  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
154  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
155  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
156  */
157 
158 #undef yywrap
159 
160 #define ACTION_ECHO fprintf( temp_action_file, "%s", yytext )
161 #define MARK_END_OF_PROLOG fprintf( temp_action_file, "%%%% end of prolog\n" );
162 
163 #undef YY_DECL
164 #define YY_DECL \
165  int flexscan()
166 
167 #define RETURNCHAR \
168  yylval = yytext[0]; \
169  return ( CHAR );
170 
171 #define RETURNNAME \
172  (void) strcpy( nmstr, (char *) yytext ); \
173  return ( NAME );
174 
175 #define PUT_BACK_STRING(str, start) \
176  for ( i = strlen( (char *) (str) ) - 1; i >= start; --i ) \
177  unput((str)[i])
178 
179 #define CHECK_REJECT(str) \
180  if ( all_upper( str ) ) \
181  reject = true;
182 
183 #define CHECK_YYMORE(str) \
184  if ( all_lower( str ) ) \
185  yymore_used = true;
186 #define SECT2 1
187 #define SECT2PROLOG 2
188 #define SECT3 3
189 #define CODEBLOCK 4
190 #define PICKUPDEF 5
191 #define SC 6
192 #define CARETISBOL 7
193 #define NUM 8
194 #define QUOTE 9
195 #define FIRSTCCL 10
196 #define CCL 11
197 #define ACTION 12
198 #define RECOVER 13
199 #define BRACEERROR 14
200 #define C_COMMENT 15
201 #define ACTION_COMMENT 16
202 #define ACTION_STRING 17
203 #define PERCENT_BRACE_ACTION 18
204 #define USED_LIST 19
205 #define CODEBLOCK_2 20
206 #define XLATION 21
207 # line 76 "scan.l"
208 
209 /* done after the current pattern has been matched and before the
210  * corresponding action - sets up yytext
211  */
212 #define YY_DO_BEFORE_ACTION \
213  yytext = yy_bp; \
214  yyleng = yy_cp - yy_bp; \
215  yy_hold_char = *yy_cp; \
216  *yy_cp = '\0'; \
217  yy_c_buf_p = yy_cp;
218 
219 #define EOB_ACT_CONTINUE_SCAN 0
220 #define EOB_ACT_END_OF_FILE 1
221 #define EOB_ACT_LAST_MATCH 2
222 
223 /* return all but the first 'n' matched characters back to the input stream */
224 #define yyless(n) \
225  do \
226  { \
227  /* undo effects of setting up yytext */ \
228  *yy_cp = yy_hold_char; \
229  yy_c_buf_p = yy_cp = yy_bp + n; \
230  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
231  } \
232  while ( 0 )
233 
234 #define unput(c) yyunput( c, yytext )
235 
236 
238  {
240 
241  YY_CHAR *yy_ch_buf; /* input buffer */
242  YY_CHAR *yy_buf_pos; /* current position in input buffer */
243 
244  /* size of input buffer in bytes, not including room for EOB characters*/
246 
247  /* number of characters read into yy_ch_buf, not including EOB characters */
249 
250  int yy_eof_status; /* whether we've seen an EOF on this buffer */
251 #define EOF_NOT_SEEN 0
252  /* "pending" happens when the EOF has been seen but there's still
253  * some text process
254  */
255 #define EOF_PENDING 1
256 #define EOF_DONE 2
257  };
258 
259 static YY_BUFFER_STATE yy_current_buffer;
260 
261 /* we provide macros for accessing buffer states in case in the
262  * future we want to put the buffer states in a more general
263  * "scanner state"
264  */
265 #define YY_CURRENT_BUFFER yy_current_buffer
266 
267 
268 /* yy_hold_char holds the character lost when yytext is formed */
269 static YY_CHAR yy_hold_char;
270 
271 static int yy_n_chars; /* number of characters read into yy_ch_buf */
272 
273 
274 
275 #ifndef YY_USER_ACTION
276 #define YY_USER_ACTION
277 #endif
278 
279 #ifndef YY_USER_INIT
280 #define YY_USER_INIT
281 #endif
282 
283 extern YY_CHAR *yytext;
284 extern int yyleng;
285 extern FILE *yyin, *yyout;
286 
288 int yyleng;
289 
290 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
291 
292 #define YY_END_OF_BUFFER 121
293 typedef int yy_state_type;
294 static const short int yy_acclist[482] =
295  { 0,
296  16444,16444, 119, 119, 121, 19, 120, 7, 19, 120,
297  18, 120, 19, 120, 19, 120, 16, 19, 120, 1,
298  7, 19, 120, 17, 18, 120, 19, 120, 19, 120,
299  19, 120, 19, 120, 15, 16, 19, 120, 67, 120,
300  59, 67, 120,16444, 8252, 68, 120, 67, 120, 53,
301  67, 120, 67, 120, 66, 67, 120, 51, 67, 120,
302  67, 120, 67, 120, 67, 120, 50, 59, 67, 120,
303  16444, 49, 8252, 61, 68, 120, 67, 120, 67, 120,
304  52, 67, 120, 120, 47, 120, 120, 119, 120, 119,
305  120, 119, 120, 28, 120, 29, 120, 28, 120, 28,
306 
307  120, 28, 120, 28, 120, 28, 120, 31, 120, 30,
308  120, 32, 120, 120, 73, 120, 120, 69, 73, 120,
309  70, 73, 120, 72, 73, 120, 74, 120, 88, 120,
310  89, 120, 88, 120, 86, 88, 120, 85, 88, 120,
311  87, 88, 120, 75, 120, 77, 120, 120, 76, 120,
312  75, 120, 81, 120, 80, 81, 120, 81, 120, 81,
313  120, 83, 120, 83, 120, 83, 120, 84, 120, 99,
314  105, 120, 104, 120, 105, 120, 103, 105, 120, 105,
315  120, 105, 120, 100, 105, 120, 100, 105, 120, 100,
316  105, 120, 97, 105, 120, 98, 105, 120, 120, 33,
317 
318  120, 120, 91, 120, 120, 90, 120, 22, 120, 24,
319  120, 120, 23, 120, 107, 110, 120, 109, 120, 110,
320  120, 108, 110, 120, 111, 115, 120, 113, 120, 115,
321  120, 114, 115, 120, 115, 120, 95, 120, 95, 120,
322  96, 120, 95, 120, 95, 120, 95, 120, 95, 120,
323  95, 120, 38, 120, 35, 120, 34, 120, 120, 38,
324  120, 38, 120, 44, 120, 42, 44, 120, 45, 120,
325  44, 120, 44, 120, 44, 120, 41, 44, 120, 41,
326  42, 44, 120, 41, 44, 120, 41, 44, 120, 40,
327  41, 44, 120, 41, 44, 120, 7, 18, 16, 1,
328 
329  7, 17, 18, 2, 14, 8, 14, 12, 4, 5,
330  3, 15, 16, 59,16444, 8252, 8252, 68, 56, 117,
331  117, 117, 55, 54, 55, 50, 59,16444, 49, 8252,
332  61, 49, 8252, 61, 68, 63, 50, 47, 46, 119,
333  119, 119, 28, 29, 28, 28, 28, 28, 31, 30,
334  32, 71, 72, 89, 85, 77, 118, 118, 118, 78,
335  79, 82, 99, 104, 102, 101, 100, 100, 100, 33,
336  91, 22, 24, 20, 107, 109, 106, 111, 113, 112,
337  95, 95, 95, 96, 92, 95, 95, 95, 95, 38,
338  35, 34, 38, 38, 42, 45, 43, 43, 43, 42,
339 
340  40, 13, 14, 8, 8, 14, 12, 4, 5, 6,
341  57, 58, 64, 117, 117, 55, 55, 65, 63, 28,
342  28, 28, 25, 118, 118, 100, 100, 21, 92, 95,
343  92, 95, 95, 38, 38, 39, 43, 43, 11, 4,
344  11, 13, 5, 117, 28, 28, 118, 100, 100, 95,
345  95, 38, 38, 43, 9, 28, 28, 100, 100, 95,
346  95, 38, 38, 26, 28, 27, 28, 93, 100, 94,
347  100, 93, 95, 94, 95, 36, 38, 37, 38, 10,
348  62
349  } ;
350 
351 static const short int yy_accept[392] =
352  { 0,
353  1, 1, 1, 2, 3, 3, 3, 4, 5, 5,
354  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
355  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
356  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
357  5, 5, 5, 5, 5, 6, 8, 11, 13, 15,
358  17, 20, 24, 27, 29, 31, 33, 35, 39, 41,
359  45, 48, 50, 53, 55, 58, 61, 63, 65, 67,
360  72, 77, 79, 81, 84, 85, 87, 88, 90, 92,
361  94, 96, 98, 100, 102, 104, 106, 108, 110, 112,
362  114, 115, 117, 118, 121, 124, 127, 129, 131, 133,
363 
364  135, 138, 141, 144, 146, 148, 149, 151, 153, 155,
365  158, 160, 162, 164, 166, 168, 170, 173, 175, 177,
366  180, 182, 184, 187, 190, 193, 196, 199, 200, 202,
367  203, 205, 206, 208, 210, 212, 213, 215, 218, 220,
368  222, 225, 228, 230, 232, 235, 237, 239, 241, 243,
369  245, 247, 249, 251, 253, 255, 257, 259, 260, 262,
370  264, 266, 269, 271, 273, 275, 277, 280, 284, 287,
371  290, 294, 297, 298, 299, 299, 299, 300, 302, 304,
372  304, 304, 305, 305, 306, 308, 308, 309, 310, 310,
373  310, 311, 311, 312, 314, 316, 317, 317, 317, 317,
374 
375  319, 320, 320, 320, 320, 321, 322, 323, 324, 325,
376  326, 329, 332, 332, 336, 337, 338, 338, 339, 339,
377  340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
378  350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
379  360, 361, 362, 363, 364, 365, 365, 366, 366, 367,
380  368, 369, 370, 370, 371, 371, 372, 373, 374, 375,
381  376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
382  387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
383  397, 397, 398, 399, 400, 401, 402, 402, 403, 403,
384  404, 405, 407, 407, 408, 409, 409, 409, 409, 410,
385 
386  410, 411, 411, 412, 412, 413, 413, 413, 414, 414,
387  414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
388  424, 424, 424, 425, 426, 427, 428, 428, 429, 429,
389  431, 432, 433, 434, 435, 436, 436, 437, 437, 438,
390  439, 439, 440, 440, 441, 441, 443, 443, 443, 443,
391  444, 444, 444, 444, 445, 446, 447, 448, 449, 450,
392  451, 452, 453, 454, 455, 455, 456, 456, 456, 456,
393  457, 458, 459, 460, 461, 462, 463, 464, 464, 464,
394  466, 468, 470, 472, 474, 476, 478, 480, 481, 482,
395  482
396 
397  } ;
398 
399 static const YY_CHAR yy_ec[256] =
400  { 0,
401  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
402  1, 4, 5, 1, 1, 1, 1, 1, 1, 1,
403  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
404  1, 6, 1, 7, 8, 9, 10, 1, 11, 12,
405  12, 13, 12, 14, 15, 12, 16, 17, 17, 17,
406  17, 17, 17, 17, 17, 17, 17, 1, 1, 18,
407  1, 19, 12, 1, 25, 26, 27, 28, 29, 30,
408  24, 24, 24, 31, 32, 24, 33, 34, 35, 32,
409  24, 36, 37, 38, 39, 24, 24, 40, 41, 24,
410  20, 21, 22, 23, 24, 1, 25, 26, 27, 28,
411 
412  29, 30, 24, 24, 24, 31, 32, 24, 33, 34,
413  35, 32, 24, 36, 37, 38, 39, 24, 24, 40,
414  41, 24, 42, 43, 44, 1, 1, 1, 1, 1,
415  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
416  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
417  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
418  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
419  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422 
423  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428  1, 1, 1, 1, 1
429  } ;
430 
431 static const YY_CHAR yy_meta[45] =
432  { 0,
433  1, 2, 3, 2, 4, 2, 5, 1, 1, 1,
434  6, 1, 7, 1, 8, 6, 9, 1, 1, 1,
435  10, 11, 1, 12, 13, 13, 13, 13, 13, 13,
436  12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
437  12, 6, 1, 14
438  } ;
439 
440 static const short int yy_base[454] =
441  { 0,
442  0, 44, 87, 129, 92, 99, 106, 107, 172, 1520,
443  111, 116, 216, 0, 1506, 1464, 123, 258, 141, 148,
444  259, 262, 266, 286, 308, 0, 120, 151, 261, 350,
445  155, 265, 281, 287, 351, 354, 394, 0, 437, 477,
446  0, 0, 517, 537, 1475, 1567, 293, 1567, 1471, 1394,
447  0, 360, 1567, 1416, 154, 549, 1405, 0, 1567, 590,
448  1567, 1402, 1567, 365, 1567, 1386, 1382, 84, 633, 676,
449  1567, 1396, 350, 1567, 158, 0, 161, 301, 1567, 371,
450  0, 1567, 1395, 0, 1365, 1352, 1341, 0, 375, 1567,
451  1381, 1567, 1567, 1567, 1347, 0, 1567, 1567, 1567, 1360,
452 
453  1567, 1341, 1567, 1567, 1567, 1354, 1567, 427, 1567, 1567,
454  428, 1341, 1567, 0, 429, 1567, 0, 1567, 1343, 1567,
455  282, 1330, 0, 1313, 1291, 1567, 1567, 375, 1567, 379,
456  1567, 1326, 1567, 0, 1567, 1325, 1293, 0, 1567, 1305,
457  1279, 0, 1567, 1291, 1567, 0, 0, 381, 1567, 1283,
458  1241, 0, 1255, 1242, 0, 384, 1567, 1274, 1241, 1228,
459  1567, 445, 1567, 1253, 1217, 431, 1567, 448, 1239, 1203,
460  1219, 436, 453, 1567, 1232, 458, 0, 482, 1567, 1218,
461  467, 1567, 472, 487, 488, 1210, 493, 0, 498, 239,
462  0, 493, 1567, 0, 0, 1567, 1212, 1169, 502, 1567,
463 
464  1567, 1181, 487, 489, 1567, 1185, 0, 0, 1567, 705,
465  0, 1567, 1198, 1567, 0, 1567, 507, 0, 511, 1567,
466  512, 1567, 521, 0, 1567, 0, 1143, 1140, 749, 0,
467  526, 1567, 1567, 0, 1567, 1155, 1567, 1567, 1129, 0,
468  1567, 1567, 1567, 0, 1567, 514, 1567, 1140, 1567, 0,
469  1108, 1099, 528, 1567, 531, 1567, 0, 1567, 541, 0,
470  1567, 1567, 0, 1567, 1567, 0, 546, 1087, 1567, 793,
471  0, 1095, 1092, 0, 547, 1567, 1062, 1059, 558, 1567,
472  563, 1567, 842, 0, 573, 841, 599, 1567, 854, 604,
473  0, 605, 552, 610, 0, 615, 817, 826, 0, 558,
474 
475  1567, 567, 1567, 568, 1567, 577, 819, 1567, 605, 821,
476  836, 0, 0, 0, 1567, 0, 816, 809, 0, 1567,
477  594, 610, 824, 0, 811, 804, 620, 1567, 625, 0,
478  0, 767, 713, 718, 693, 685, 1567, 724, 709, 0,
479  626, 1567, 633, 0, 690, 1567, 680, 688, 696, 0,
480  693, 680, 835, 1567, 694, 682, 1567, 690, 664, 657,
481  596, 597, 562, 1567, 516, 1567, 518, 677, 682, 436,
482  437, 241, 238, 132, 136, 105, 98, 78, 79, 0,
483  0, 0, 0, 0, 0, 0, 0, 1567, 1567, 1567,
484  865, 879, 893, 907, 921, 935, 949, 963, 977, 991,
485 
486  1005, 1019, 1033, 1047, 1061, 1075, 1082, 1095, 1109, 1115,
487  1128, 1142, 1156, 1170, 1184, 1198, 1205, 1218, 1225, 1238,
488  1252, 1266, 1280, 1291, 1298, 1311, 1325, 1339, 1353, 1367,
489  1381, 1388, 1401, 1415, 1429, 693, 695, 1443, 1457, 360,
490  1471, 1484, 380, 1498, 700, 1512, 1519, 1525, 701, 1538,
491  702, 1552, 703
492  } ;
493 
494 static const short int yy_def[454] =
495  { 0,
496  390, 390, 391, 391, 392, 392, 393, 393, 390, 9,
497  394, 394, 390, 13, 395, 395, 396, 396, 397, 397,
498  398, 398, 399, 399, 390, 25, 400, 400, 395, 395,
499  401, 401, 402, 402, 403, 403, 390, 37, 404, 404,
500  37, 37, 405, 406, 390, 390, 390, 390, 390, 390,
501  407, 390, 390, 390, 408, 409, 390, 410, 390, 390,
502  390, 390, 390, 390, 390, 390, 411, 412, 390, 390,
503  390, 390, 390, 390, 413, 414, 413, 415, 390, 415,
504  416, 390, 390, 417, 417, 417, 416, 418, 390, 390,
505  390, 390, 390, 390, 390, 419, 390, 390, 390, 390,
506 
507  390, 390, 390, 390, 390, 390, 390, 412, 390, 390,
508  420, 421, 390, 422, 412, 390, 423, 390, 390, 390,
509  424, 390, 425, 425, 425, 390, 390, 426, 390, 426,
510  390, 390, 390, 427, 390, 390, 390, 428, 390, 390,
511  390, 429, 390, 390, 390, 430, 431, 431, 390, 390,
512  431, 432, 432, 432, 433, 390, 390, 390, 433, 433,
513  390, 390, 390, 390, 390, 434, 390, 390, 390, 390,
514  390, 434, 390, 390, 390, 390, 407, 390, 390, 390,
515  408, 390, 408, 390, 435, 390, 390, 436, 390, 390,
516  437, 438, 390, 410, 60, 390, 390, 390, 439, 390,
517 
518  390, 390, 411, 411, 390, 390, 440, 441, 390, 441,
519  70, 390, 390, 390, 442, 390, 413, 414, 413, 390,
520  415, 390, 415, 416, 390, 417, 417, 417, 390, 418,
521  390, 390, 390, 419, 390, 390, 390, 390, 390, 443,
522  390, 390, 390, 423, 390, 424, 390, 424, 390, 425,
523  425, 425, 426, 390, 426, 390, 427, 390, 444, 428,
524  390, 390, 429, 390, 390, 431, 431, 431, 390, 390,
525  432, 432, 432, 433, 390, 390, 433, 433, 390, 390,
526  390, 390, 390, 445, 390, 390, 390, 390, 390, 390,
527  435, 435, 446, 390, 447, 446, 390, 390, 448, 438,
528 
529  390, 438, 390, 439, 390, 439, 390, 390, 411, 411,
530  390, 449, 441, 210, 390, 442, 417, 417, 229, 390,
531  450, 450, 390, 451, 425, 425, 444, 390, 444, 270,
532  452, 432, 432, 433, 433, 390, 390, 390, 390, 453,
533  446, 390, 446, 447, 446, 390, 446, 390, 390, 448,
534  390, 411, 310, 390, 417, 417, 390, 425, 425, 432,
535  432, 433, 433, 390, 390, 390, 390, 411, 411, 417,
536  417, 425, 425, 432, 432, 433, 433, 390, 390, 417,
537  417, 425, 425, 432, 432, 433, 433, 390, 390, 0,
538  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
539 
540  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
541  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
542  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
543  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
544  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
545  390, 390, 390
546  } ;
547 
548 static const short int yy_nxt[1612] =
549  { 0,
550  46, 47, 48, 47, 49, 47, 46, 46, 46, 50,
551  46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
552  46, 46, 46, 51, 51, 51, 51, 51, 51, 51,
553  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
554  51, 46, 46, 46, 46, 52, 53, 52, 54, 52,
555  46, 55, 46, 56, 46, 46, 46, 46, 46, 57,
556  46, 46, 46, 46, 46, 46, 46, 58, 58, 58,
557  58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
558  58, 58, 58, 58, 58, 46, 46, 46, 60, 61,
559  60, 62, 60, 63, 76, 64, 77, 389, 65, 65,
560 
561  206, 76, 65, 77, 66, 388, 67, 68, 79, 79,
562  80, 80, 89, 90, 89, 91, 89, 89, 90, 89,
563  91, 89, 129, 207, 130, 99, 387, 100, 69, 65,
564  70, 71, 70, 72, 70, 63, 101, 64, 73, 102,
565  65, 65, 386, 105, 65, 106, 66, 107, 67, 68,
566  105, 74, 106, 129, 107, 130, 182, 135, 183, 136,
567  218, 108, 219, 218, 385, 219, 103, 137, 108, 384,
568  69, 65, 81, 81, 82, 81, 83, 81, 81, 81,
569  81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
570  81, 81, 81, 81, 81, 84, 84, 84, 84, 84,
571 
572  84, 84, 84, 84, 84, 84, 84, 85, 84, 84,
573  84, 84, 86, 81, 81, 81, 92, 92, 93, 92,
574  92, 92, 92, 92, 92, 92, 92, 92, 92, 94,
575  92, 92, 92, 92, 95, 92, 92, 92, 92, 96,
576  96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
577  96, 96, 96, 96, 96, 96, 96, 92, 92, 92,
578  99, 93, 100, 131, 93, 132, 383, 135, 93, 136,
579  93, 101, 297, 110, 102, 298, 110, 137, 382, 111,
580  114, 112, 111, 139, 112, 140, 115, 116, 93, 139,
581  93, 140, 247, 141, 173, 174, 173, 175, 173, 141,
582 
583  114, 103, 248, 222, 133, 223, 115, 116, 117, 117,
584  118, 117, 119, 117, 120, 117, 117, 117, 121, 117,
585  117, 117, 117, 122, 117, 117, 117, 117, 117, 117,
586  117, 123, 123, 123, 123, 123, 123, 123, 123, 123,
587  123, 123, 123, 124, 123, 123, 123, 123, 125, 126,
588  117, 127, 131, 143, 132, 144, 143, 145, 144, 215,
589  145, 178, 179, 178, 180, 178, 201, 201, 312, 201,
590  201, 146, 312, 222, 146, 223, 231, 254, 231, 255,
591  231, 254, 267, 255, 267, 275, 267, 275, 324, 275,
592  268, 216, 324, 133, 147, 148, 149, 148, 150, 148,
593 
594  147, 147, 147, 151, 147, 147, 147, 147, 147, 147,
595  147, 147, 147, 147, 147, 147, 147, 152, 152, 152,
596  152, 152, 152, 152, 152, 152, 152, 152, 152, 153,
597  152, 152, 152, 152, 154, 147, 147, 147, 156, 157,
598  156, 158, 156, 206, 239, 206, 279, 283, 279, 285,
599  279, 285, 283, 285, 173, 174, 173, 175, 173, 287,
600  288, 287, 289, 287, 286, 381, 207, 240, 207, 182,
601  284, 183, 159, 380, 182, 284, 183, 160, 156, 157,
602  156, 158, 156, 178, 179, 178, 180, 178, 290, 292,
603  290, 292, 290, 292, 294, 301, 294, 302, 294, 287,
604 
605  288, 287, 289, 296, 305, 309, 306, 204, 308, 218,
606  203, 219, 159, 218, 222, 219, 223, 160, 162, 163,
607  162, 164, 162, 222, 247, 223, 165, 231, 310, 231,
608  254, 231, 255, 254, 248, 255, 379, 166, 168, 163,
609  168, 169, 168, 328, 378, 329, 170, 267, 275, 267,
610  275, 267, 275, 171, 342, 268, 343, 172, 185, 279,
611  301, 279, 302, 279, 336, 337, 336, 338, 336, 301,
612  305, 302, 306, 186, 285, 187, 285, 186, 285, 305,
613  186, 306, 186, 186, 187, 188, 189, 190, 191, 286,
614  192, 195, 196, 195, 197, 195, 320, 377, 321, 198,
615 
616  287, 288, 287, 289, 287, 290, 292, 290, 292, 290,
617  292, 294, 320, 294, 321, 294, 345, 346, 345, 347,
618  345, 352, 328, 376, 329, 204, 308, 328, 342, 329,
619  343, 375, 199, 208, 208, 342, 208, 343, 208, 208,
620  208, 208, 208, 208, 208, 208, 208, 208, 208, 209,
621  208, 208, 208, 208, 208, 208, 210, 210, 210, 210,
622  210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
623  210, 210, 210, 210, 208, 208, 208, 211, 212, 211,
624  213, 211, 346, 374, 343, 198, 336, 337, 336, 338,
625  336, 345, 346, 345, 347, 345, 368, 204, 308, 373,
626 
627  204, 308, 204, 308, 295, 295, 299, 299, 340, 354,
628  357, 364, 340, 354, 357, 364, 372, 371, 199, 314,
629  370, 314, 367, 366, 365, 282, 337, 363, 314, 314,
630  314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
631  314, 314, 314, 314, 314, 314, 362, 361, 315, 319,
632  319, 320, 319, 321, 319, 319, 319, 319, 319, 319,
633  319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
634  319, 319, 322, 322, 322, 322, 322, 322, 322, 322,
635  322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
636  319, 319, 319, 330, 330, 360, 330, 331, 330, 330,
637 
638  330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
639  330, 330, 330, 330, 330, 330, 331, 331, 331, 331,
640  331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
641  331, 331, 331, 331, 330, 330, 330, 353, 359, 358,
642  238, 204, 308, 356, 355, 353, 353, 353, 353, 353,
643  353, 369, 205, 351, 349, 348, 288, 286, 339, 369,
644  369, 369, 369, 369, 369, 59, 59, 59, 59, 59,
645  59, 59, 59, 59, 59, 59, 59, 59, 59, 75,
646  75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
647  75, 75, 75, 78, 78, 78, 78, 78, 78, 78,
648 
649  78, 78, 78, 78, 78, 78, 78, 88, 88, 88,
650  88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
651  88, 93, 93, 93, 93, 93, 93, 93, 93, 93,
652  93, 93, 93, 93, 93, 98, 98, 98, 98, 98,
653  98, 98, 98, 98, 98, 98, 98, 98, 98, 104,
654  104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
655  104, 104, 104, 109, 109, 109, 109, 109, 109, 109,
656  109, 109, 109, 109, 109, 109, 109, 113, 113, 113,
657  113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
658  113, 128, 128, 128, 128, 128, 128, 128, 128, 128,
659 
660  128, 128, 128, 128, 128, 134, 134, 134, 134, 134,
661  134, 134, 134, 134, 134, 134, 134, 134, 134, 138,
662  138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
663  138, 138, 138, 142, 142, 142, 142, 142, 142, 142,
664  142, 142, 142, 142, 142, 142, 142, 155, 155, 155,
665  155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
666  155, 161, 161, 161, 161, 161, 161, 161, 161, 161,
667  161, 161, 161, 161, 161, 167, 167, 167, 167, 167,
668  167, 167, 167, 167, 167, 167, 167, 167, 167, 177,
669  177, 335, 334, 177, 177, 181, 181, 181, 181, 181,
670 
671  181, 181, 181, 181, 181, 181, 181, 181, 181, 184,
672  184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
673  184, 184, 194, 194, 333, 332, 194, 194, 203, 203,
674  270, 326, 203, 203, 203, 203, 203, 203, 325, 203,
675  203, 203, 205, 205, 246, 323, 205, 205, 205, 205,
676  205, 205, 205, 205, 205, 205, 217, 217, 217, 217,
677  217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
678  220, 236, 318, 317, 220, 220, 220, 220, 220, 220,
679  220, 220, 220, 220, 221, 221, 221, 221, 221, 221,
680  221, 221, 221, 221, 221, 221, 221, 221, 224, 224,
681 
682  212, 311, 224, 224, 224, 224, 224, 224, 224, 307,
683  303, 224, 226, 226, 196, 293, 226, 226, 230, 230,
684  179, 230, 230, 230, 230, 230, 230, 230, 230, 230,
685  230, 230, 234, 234, 174, 286, 234, 234, 238, 238,
686  281, 280, 238, 238, 238, 238, 238, 238, 238, 238,
687  238, 238, 241, 241, 281, 280, 241, 241, 241, 241,
688  241, 241, 241, 241, 241, 241, 243, 243, 278, 277,
689  243, 243, 243, 243, 243, 243, 276, 243, 243, 243,
690  244, 244, 273, 272, 270, 269, 244, 244, 244, 244,
691  244, 246, 246, 264, 262, 246, 246, 246, 246, 246,
692 
693  246, 246, 246, 246, 246, 250, 250, 261, 259, 250,
694  250, 253, 253, 253, 253, 253, 253, 253, 253, 253,
695  253, 253, 253, 253, 253, 257, 257, 258, 256, 257,
696  257, 252, 257, 257, 257, 257, 257, 257, 257, 260,
697  260, 251, 249, 260, 260, 245, 260, 260, 260, 260,
698  260, 260, 260, 263, 263, 242, 237, 236, 263, 263,
699  263, 263, 235, 263, 263, 263, 263, 265, 265, 233,
700  265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
701  265, 266, 266, 232, 229, 266, 266, 266, 266, 266,
702  266, 266, 228, 227, 266, 271, 271, 225, 214, 271,
703 
704  271, 274, 204, 202, 200, 274, 274, 274, 274, 274,
705  274, 274, 274, 274, 274, 282, 282, 193, 179, 282,
706  282, 282, 282, 282, 282, 282, 282, 282, 282, 291,
707  291, 176, 291, 291, 291, 291, 291, 291, 291, 291,
708  291, 291, 291, 300, 300, 300, 300, 300, 300, 300,
709  300, 300, 300, 300, 300, 300, 300, 304, 304, 304,
710  304, 304, 304, 304, 304, 304, 304, 304, 304, 304,
711  304, 313, 313, 174, 390, 313, 313, 313, 313, 313,
712  313, 313, 313, 313, 316, 316, 97, 316, 316, 316,
713  316, 316, 316, 316, 316, 316, 316, 316, 327, 327,
714 
715  327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
716  327, 327, 341, 341, 341, 341, 341, 341, 341, 341,
717  341, 341, 341, 341, 341, 341, 344, 344, 97, 87,
718  344, 344, 350, 350, 390, 390, 350, 350, 322, 322,
719  322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
720  322, 322, 331, 331, 390, 331, 331, 331, 331, 331,
721  331, 331, 331, 331, 331, 331, 45, 390, 390, 390,
722  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
723  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
724  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
725 
726  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
727  390
728  } ;
729 
730 static const short int yy_chk[1612] =
731  { 0,
732  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
733  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
734  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736  1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
737  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
738  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
739  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
740  2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
741  3, 3, 3, 3, 5, 3, 5, 379, 3, 3,
742 
743  68, 6, 3, 6, 3, 378, 3, 3, 7, 8,
744  7, 8, 11, 11, 11, 11, 11, 12, 12, 12,
745  12, 12, 27, 68, 27, 17, 377, 17, 3, 3,
746  4, 4, 4, 4, 4, 4, 17, 4, 4, 17,
747  4, 4, 376, 19, 4, 19, 4, 19, 4, 4,
748  20, 4, 20, 28, 20, 28, 55, 31, 55, 31,
749  75, 19, 75, 77, 375, 77, 17, 31, 20, 374,
750  4, 4, 9, 9, 9, 9, 9, 9, 9, 9,
751  9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
752  9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
753 
754  9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
755  9, 9, 9, 9, 9, 9, 13, 13, 13, 13,
756  13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
757  13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
758  13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
759  13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
760  18, 21, 18, 29, 22, 29, 373, 32, 23, 32,
761  23, 18, 190, 21, 18, 190, 22, 32, 372, 21,
762  23, 21, 22, 33, 22, 33, 23, 23, 24, 34,
763  24, 34, 121, 33, 47, 47, 47, 47, 47, 34,
764 
765  24, 18, 121, 78, 29, 78, 24, 24, 25, 25,
766  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
767  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
768  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
769  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
770  25, 25, 30, 35, 30, 35, 36, 35, 36, 73,
771  36, 52, 52, 52, 52, 52, 64, 64, 440, 64,
772  64, 35, 440, 80, 36, 80, 89, 128, 89, 128,
773  89, 130, 148, 130, 148, 156, 148, 156, 443, 156,
774  148, 73, 443, 30, 37, 37, 37, 37, 37, 37,
775 
776  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
777  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
778  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
779  37, 37, 37, 37, 37, 37, 37, 37, 39, 39,
780  39, 39, 39, 108, 111, 115, 162, 166, 162, 168,
781  162, 168, 172, 168, 173, 173, 173, 173, 173, 176,
782  176, 176, 176, 176, 168, 371, 108, 111, 115, 181,
783  166, 181, 39, 370, 183, 172, 183, 39, 40, 40,
784  40, 40, 40, 178, 178, 178, 178, 178, 184, 185,
785  184, 185, 184, 185, 187, 192, 187, 192, 187, 189,
786 
787  189, 189, 189, 189, 199, 204, 199, 203, 203, 217,
788  204, 217, 40, 219, 221, 219, 221, 40, 43, 43,
789  43, 43, 43, 223, 246, 223, 43, 231, 204, 231,
790  253, 231, 253, 255, 246, 255, 367, 43, 44, 44,
791  44, 44, 44, 259, 365, 259, 44, 267, 275, 267,
792  275, 267, 275, 44, 293, 267, 293, 44, 56, 279,
793  300, 279, 300, 279, 281, 281, 281, 281, 281, 302,
794  304, 302, 304, 56, 285, 56, 285, 56, 285, 306,
795  56, 306, 56, 56, 56, 56, 56, 56, 56, 285,
796  56, 60, 60, 60, 60, 60, 321, 363, 321, 60,
797 
798  287, 287, 287, 287, 287, 290, 292, 290, 292, 290,
799  292, 294, 322, 294, 322, 294, 296, 296, 296, 296,
800  296, 309, 327, 362, 327, 309, 309, 329, 341, 329,
801  341, 361, 60, 69, 69, 343, 69, 343, 69, 69,
802  69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
803  69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
804  69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
805  69, 69, 69, 69, 69, 69, 69, 70, 70, 70,
806  70, 70, 347, 360, 347, 70, 336, 336, 336, 336,
807  336, 345, 345, 345, 345, 345, 352, 368, 368, 359,
808 
809  352, 352, 369, 369, 436, 436, 437, 437, 445, 449,
810  451, 453, 445, 449, 451, 453, 358, 356, 70, 210,
811  355, 210, 351, 349, 348, 339, 338, 335, 210, 210,
812  210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
813  210, 210, 210, 210, 210, 210, 334, 333, 210, 229,
814  229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
815  229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
816  229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
817  229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
818  229, 229, 229, 270, 270, 332, 270, 270, 270, 270,
819 
820  270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
821  270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
822  270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
823  270, 270, 270, 270, 270, 270, 270, 310, 326, 325,
824  323, 310, 310, 318, 317, 310, 310, 310, 310, 310,
825  310, 353, 311, 307, 298, 297, 289, 286, 283, 353,
826  353, 353, 353, 353, 353, 391, 391, 391, 391, 391,
827  391, 391, 391, 391, 391, 391, 391, 391, 391, 392,
828  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
829  392, 392, 392, 393, 393, 393, 393, 393, 393, 393,
830 
831  393, 393, 393, 393, 393, 393, 393, 394, 394, 394,
832  394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
833  394, 395, 395, 395, 395, 395, 395, 395, 395, 395,
834  395, 395, 395, 395, 395, 396, 396, 396, 396, 396,
835  396, 396, 396, 396, 396, 396, 396, 396, 396, 397,
836  397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
837  397, 397, 397, 398, 398, 398, 398, 398, 398, 398,
838  398, 398, 398, 398, 398, 398, 398, 399, 399, 399,
839  399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
840  399, 400, 400, 400, 400, 400, 400, 400, 400, 400,
841 
842  400, 400, 400, 400, 400, 401, 401, 401, 401, 401,
843  401, 401, 401, 401, 401, 401, 401, 401, 401, 402,
844  402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
845  402, 402, 402, 403, 403, 403, 403, 403, 403, 403,
846  403, 403, 403, 403, 403, 403, 403, 404, 404, 404,
847  404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
848  404, 405, 405, 405, 405, 405, 405, 405, 405, 405,
849  405, 405, 405, 405, 405, 406, 406, 406, 406, 406,
850  406, 406, 406, 406, 406, 406, 406, 406, 406, 407,
851  407, 278, 277, 407, 407, 408, 408, 408, 408, 408,
852 
853  408, 408, 408, 408, 408, 408, 408, 408, 408, 409,
854  409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
855  409, 409, 410, 410, 273, 272, 410, 410, 411, 411,
856  268, 252, 411, 411, 411, 411, 411, 411, 251, 411,
857  411, 411, 412, 412, 248, 239, 412, 412, 412, 412,
858  412, 412, 412, 412, 412, 412, 413, 413, 413, 413,
859  413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
860  414, 236, 228, 227, 414, 414, 414, 414, 414, 414,
861  414, 414, 414, 414, 415, 415, 415, 415, 415, 415,
862  415, 415, 415, 415, 415, 415, 415, 415, 416, 416,
863 
864  213, 206, 416, 416, 416, 416, 416, 416, 416, 202,
865  198, 416, 417, 417, 197, 186, 417, 417, 418, 418,
866  180, 418, 418, 418, 418, 418, 418, 418, 418, 418,
867  418, 418, 419, 419, 175, 171, 419, 419, 420, 420,
868  170, 169, 420, 420, 420, 420, 420, 420, 420, 420,
869  420, 420, 421, 421, 165, 164, 421, 421, 421, 421,
870  421, 421, 421, 421, 421, 421, 422, 422, 160, 159,
871  422, 422, 422, 422, 422, 422, 158, 422, 422, 422,
872  423, 423, 154, 153, 151, 150, 423, 423, 423, 423,
873  423, 424, 424, 144, 141, 424, 424, 424, 424, 424,
874 
875  424, 424, 424, 424, 424, 425, 425, 140, 137, 425,
876  425, 426, 426, 426, 426, 426, 426, 426, 426, 426,
877  426, 426, 426, 426, 426, 427, 427, 136, 132, 427,
878  427, 125, 427, 427, 427, 427, 427, 427, 427, 428,
879  428, 124, 122, 428, 428, 119, 428, 428, 428, 428,
880  428, 428, 428, 429, 429, 112, 106, 102, 429, 429,
881  429, 429, 100, 429, 429, 429, 429, 430, 430, 95,
882  430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
883  430, 431, 431, 91, 87, 431, 431, 431, 431, 431,
884  431, 431, 86, 85, 431, 432, 432, 83, 72, 432,
885 
886  432, 433, 67, 66, 62, 433, 433, 433, 433, 433,
887  433, 433, 433, 433, 433, 434, 434, 57, 54, 434,
888  434, 434, 434, 434, 434, 434, 434, 434, 434, 435,
889  435, 50, 435, 435, 435, 435, 435, 435, 435, 435,
890  435, 435, 435, 438, 438, 438, 438, 438, 438, 438,
891  438, 438, 438, 438, 438, 438, 438, 439, 439, 439,
892  439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
893  439, 441, 441, 49, 45, 441, 441, 441, 441, 441,
894  441, 441, 441, 441, 442, 442, 16, 442, 442, 442,
895  442, 442, 442, 442, 442, 442, 442, 442, 444, 444,
896 
897  444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
898  444, 444, 446, 446, 446, 446, 446, 446, 446, 446,
899  446, 446, 446, 446, 446, 446, 447, 447, 15, 10,
900  447, 447, 448, 448, 0, 0, 448, 448, 450, 450,
901  450, 450, 450, 450, 450, 450, 450, 450, 450, 450,
902  450, 450, 452, 452, 0, 452, 452, 452, 452, 452,
903  452, 452, 452, 452, 452, 452, 390, 390, 390, 390,
904  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
905  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
906  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
907 
908  390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
909  390
910  } ;
911 
912 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
913 static YY_CHAR *yy_full_match;
914 static int yy_lp;
915 static int yy_looking_for_trail_begin = 0;
916 static int yy_full_lp;
917 static int *yy_full_state;
918 #define YY_TRAILING_MASK 0x2000
919 #define YY_TRAILING_HEAD_MASK 0x4000
920 #define REJECT \
921 { \
922 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
923 yy_cp = yy_full_match; /* restore poss. backed-over text */ \
924 yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \
925 yy_state_ptr = yy_full_state; /* restore orig. state */ \
926 yy_current_state = *yy_state_ptr; /* restore curr. state */ \
927 ++yy_lp; \
928 goto find_rule; \
929 }
930 #define yymore() yymore_used_but_not_detected
931 #define YY_MORE_ADJ 0
932 
933 /* these variables are all declared out here so that section 3 code can
934  * manipulate them
935  */
936 /* points to current character in buffer */
937 static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
938 static int yy_init = 1; /* whether we need to initialize */
939 static int yy_start = 0; /* start state number */
940 
941 /* flag which is used to allow yywrap()'s to do buffer switches
942  * instead of setting up a fresh yyin. A bit of a hack ...
943  */
944 static int yy_did_buffer_switch_on_eof;
945 
946 static yy_state_type yy_get_previous_state ( void );
947 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
948 static int yy_get_next_buffer ( void );
949 static void yyunput ( YY_CHAR c, YY_CHAR *buf_ptr );
950 void yyrestart ( FILE *input_file );
951 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
952 void yy_load_buffer_state ( void );
953 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
954 void yy_delete_buffer ( YY_BUFFER_STATE b );
955 void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
956 
957 #define yy_new_buffer yy_create_buffer
958 
959 YY_DECL
960  {
961  yy_state_type yy_current_state;
963  int yy_act;
964 
965 
966  static int bracelevel, didadef;
967  int i, indented_code = false, checking_used = false, new_xlation = false;
968  int doing_codeblock = false;
970 
971 
972  if ( yy_init )
973  {
974  YY_USER_INIT;
975 
976  if ( ! yy_start )
977  yy_start = 1; /* first start state */
978 
979  if ( ! yyin )
980  yyin = stdin;
981 
982  if ( ! yyout )
983  yyout = stdout;
984 
985  if ( yy_current_buffer )
986  yy_init_buffer( yy_current_buffer, yyin );
987  else
988  yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
989 
991 
992  yy_init = 0;
993  }
994 
995  while ( 1 ) /* loops until end-of-file is reached */
996  {
997  yy_cp = yy_c_buf_p;
998 
999  /* support of yytext */
1000  *yy_cp = yy_hold_char;
1001 
1002  /* yy_bp points to the position in yy_ch_buf of the start of the
1003  * current run.
1004  */
1005  yy_bp = yy_cp;
1006 
1007  yy_current_state = yy_start;
1008  if ( yy_bp[-1] == '\n' )
1009  ++yy_current_state;
1010  yy_state_ptr = yy_state_buf;
1011  *yy_state_ptr++ = yy_current_state;
1012 yy_match:
1013  do
1014  {
1015  YY_CHAR yy_c = yy_ec[(int)*yy_cp];
1016  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1017  {
1018  yy_current_state = yy_def[yy_current_state];
1019  if ( yy_current_state >= 391 )
1020  yy_c = yy_meta[(int)yy_c];
1021  }
1022  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1023  *yy_state_ptr++ = yy_current_state;
1024  ++yy_cp;
1025  }
1026  while ( yy_current_state != 390 );
1027 
1028 yy_find_action:
1029  yy_current_state = *--yy_state_ptr;
1030  yy_lp = yy_accept[yy_current_state];
1031 find_rule: /* we branch to this label when backtracking */
1032  for ( ; ; ) /* until we find what rule we matched */
1033  {
1034  if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1035  {
1036  yy_act = yy_acclist[yy_lp];
1037  if ( yy_act & YY_TRAILING_HEAD_MASK ||
1038  yy_looking_for_trail_begin )
1039  {
1040  if ( yy_act == yy_looking_for_trail_begin )
1041  {
1042  yy_looking_for_trail_begin = 0;
1043  yy_act &= ~YY_TRAILING_HEAD_MASK;
1044  break;
1045  }
1046  }
1047  else if ( yy_act & YY_TRAILING_MASK )
1048  {
1049  yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
1050  yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
1051  }
1052  else
1053  {
1054  yy_full_match = yy_cp;
1055  yy_full_state = yy_state_ptr;
1056  yy_full_lp = yy_lp;
1057  break;
1058  }
1059  ++yy_lp;
1060  goto find_rule;
1061  }
1062  --yy_cp;
1063  yy_current_state = *--yy_state_ptr;
1064  yy_lp = yy_accept[yy_current_state];
1065  }
1066 
1069 
1070 do_action: /* this label is used only to access EOF actions */
1071 
1072 
1073  switch ( yy_act )
1074  {
1075 case 1:
1076 # line 82 "scan.l"
1077 indented_code = true; BEGIN(CODEBLOCK);
1078  YY_BREAK
1079 case 2:
1080 # line 83 "scan.l"
1081 ++linenum; /* treat as a comment */
1082  YY_BREAK
1083 case 3:
1084 # line 84 "scan.l"
1085 ECHO; BEGIN(C_COMMENT);
1086  YY_BREAK
1087 case 4:
1088 # line 85 "scan.l"
1089 return ( SCDECL );
1090  YY_BREAK
1091 case 5:
1092 # line 86 "scan.l"
1093 return ( XSCDECL );
1094  YY_BREAK
1095 case 6:
1096 # line 87 "scan.l"
1097 {
1098  ++linenum;
1100  indented_code = false;
1101  BEGIN(CODEBLOCK);
1102  }
1103  YY_BREAK
1104 case 7:
1105 # line 94 "scan.l"
1106 return ( WHITESPACE );
1107  YY_BREAK
1108 case 8:
1109 # line 96 "scan.l"
1110 {
1111  sectnum = 2;
1113  BEGIN(SECT2PROLOG);
1114  return ( SECTEND );
1115  }
1116  YY_BREAK
1117 case 9:
1118 # line 103 "scan.l"
1119 {
1120  pinpoint_message( "warning - %%used/%%unused have been deprecated" );
1122  }
1123  YY_BREAK
1124 case 10:
1125 # line 107 "scan.l"
1126 {
1128  pinpoint_message( "warning - %%used/%%unused have been deprecated" );
1130  }
1131  YY_BREAK
1132 case 11:
1133 # line 114 "scan.l"
1134 {
1135 #ifdef NOTDEF
1136  fprintf( stderr,
1137  "old-style lex command at line %d ignored:\n\t%s",
1138  linenum, yytext );
1139 #endif
1140  ++linenum;
1141  }
1142  YY_BREAK
1143 case 12:
1144 # line 123 "scan.l"
1145 /* ignore old lex directive */
1146  YY_BREAK
1147 case 13:
1148 # line 125 "scan.l"
1149 {
1150  ++linenum;
1151  xlation =
1152  (int *) malloc( sizeof( int ) * (unsigned) csize );
1153 
1154  if ( ! xlation )
1155  flexfatal(
1156  "dynamic memory failure building %t table" );
1157 
1158  for ( i = 0; i < csize; ++i )
1159  xlation[i] = 0;
1160 
1161  num_xlations = 0;
1162 
1163  BEGIN(XLATION);
1164  }
1165  YY_BREAK
1166 case 14:
1167 # line 142 "scan.l"
1168 synerr( "unrecognized '%' directive" );
1169  YY_BREAK
1170 case 15:
1171 # line 144 "scan.l"
1172 {
1173  (void) strcpy( nmstr, (char *) yytext );
1174  didadef = false;
1175  BEGIN(PICKUPDEF);
1176  }
1177  YY_BREAK
1178 case 16:
1179 # line 150 "scan.l"
1180 RETURNNAME;
1181  YY_BREAK
1182 case 17:
1183 # line 151 "scan.l"
1184 ++linenum; /* allows blank lines in section 1 */
1185  YY_BREAK
1186 case 18:
1187 # line 152 "scan.l"
1188 ++linenum; return ( '\n' );
1189  YY_BREAK
1190 case 19:
1191 # line 153 "scan.l"
1192 synerr( "illegal character" ); BEGIN(RECOVER);
1193  YY_BREAK
1194 case 20:
1195 # line 156 "scan.l"
1196 ECHO; BEGIN(INITIAL);
1197  YY_BREAK
1198 case 21:
1199 # line 157 "scan.l"
1200 ++linenum; ECHO; BEGIN(INITIAL);
1201  YY_BREAK
1202 case 22:
1203 # line 158 "scan.l"
1204 ECHO;
1205  YY_BREAK
1206 case 23:
1207 # line 159 "scan.l"
1208 ECHO;
1209  YY_BREAK
1210 case 24:
1211 # line 160 "scan.l"
1212 ++linenum; ECHO;
1213  YY_BREAK
1214 case 25:
1215 # line 163 "scan.l"
1216 ++linenum; BEGIN(INITIAL);
1217  YY_BREAK
1218 case 26:
1219 # line 164 "scan.l"
1221  YY_BREAK
1222 case 27:
1223 # line 165 "scan.l"
1225  YY_BREAK
1226 case 28:
1227 # line 166 "scan.l"
1228 ECHO;
1229  YY_BREAK
1230 case 29:
1231 # line 167 "scan.l"
1232 {
1233  ++linenum;
1234  ECHO;
1235  if ( indented_code )
1236  BEGIN(INITIAL);
1237  }
1238  YY_BREAK
1239 case 30:
1240 # line 175 "scan.l"
1241 /* separates name and definition */
1242  YY_BREAK
1243 case 31:
1244 # line 177 "scan.l"
1245 {
1246  (void) strcpy( (char *) nmdef, (char *) yytext );
1247 
1248  for ( i = strlen( (char *) nmdef ) - 1;
1249  i >= 0 &&
1250  (nmdef[i] == ' ' || nmdef[i] == '\t');
1251  --i )
1252  ;
1253 
1254  nmdef[i + 1] = '\0';
1255 
1256  ndinstal( nmstr, nmdef );
1257  didadef = true;
1258  }
1259  YY_BREAK
1260 case 32:
1261 # line 192 "scan.l"
1262 {
1263  if ( ! didadef )
1264  synerr( "incomplete name definition" );
1265  BEGIN(INITIAL);
1266  ++linenum;
1267  }
1268  YY_BREAK
1269 case 33:
1270 # line 199 "scan.l"
1272  YY_BREAK
1273 case 34:
1274 # line 202 "scan.l"
1275 ++linenum; BEGIN(INITIAL);
1276  YY_BREAK
1277 case 35:
1278 # line 203 "scan.l"
1279 
1280  YY_BREAK
1281 case 36:
1282 # line 204 "scan.l"
1283 {
1284  if ( all_upper( yytext ) )
1286  else
1287  synerr( "unrecognized %used/%unused construct" );
1288  }
1289  YY_BREAK
1290 case 37:
1291 # line 210 "scan.l"
1292 {
1293  if ( all_lower( yytext ) )
1295  else
1296  synerr( "unrecognized %used/%unused construct" );
1297  }
1298  YY_BREAK
1299 case 38:
1300 # line 216 "scan.l"
1301 synerr( "unrecognized %used/%unused construct" );
1302  YY_BREAK
1303 case 39:
1304 # line 219 "scan.l"
1305 ++linenum; BEGIN(INITIAL);
1306  YY_BREAK
1307 case 40:
1308 # line 220 "scan.l"
1309 ++num_xlations; new_xlation = true;
1310  YY_BREAK
1311 case 41:
1312 # line 221 "scan.l"
1313 synerr( "bad row in translation table" );
1314  YY_BREAK
1315 case 42:
1316 # line 222 "scan.l"
1317 /* ignore whitespace */
1318  YY_BREAK
1319 case 43:
1320 # line 224 "scan.l"
1321 {
1322  xlation[myesc( yytext )] =
1324  new_xlation = false;
1325  }
1326  YY_BREAK
1327 case 44:
1328 # line 229 "scan.l"
1329 {
1330  xlation[yytext[0]] =
1332  new_xlation = false;
1333  }
1334  YY_BREAK
1335 case 45:
1336 # line 235 "scan.l"
1337 ++linenum;
1338  YY_BREAK
1339 case 46:
1340 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1341 yy_c_buf_p = yy_cp -= 1;
1342 YY_DO_BEFORE_ACTION; /* set up yytext again */
1343 # line 238 "scan.l"
1344 {
1345  ++linenum;
1346  ACTION_ECHO;
1348  BEGIN(SECT2);
1349  }
1350  YY_BREAK
1351 case 47:
1352 # line 245 "scan.l"
1353 ++linenum; ACTION_ECHO;
1354  YY_BREAK
1356 # line 247 "scan.l"
1358  YY_BREAK
1359 case 49:
1360 # line 249 "scan.l"
1361 ++linenum; /* allow blank lines in section 2 */
1362  YY_BREAK
1363 case 50:
1364 # line 251 "scan.l"
1365 {
1366  indented_code = (yytext[0] != '%');
1367  doing_codeblock = true;
1368  bracelevel = 1;
1369 
1370  if ( indented_code )
1371  ACTION_ECHO;
1372 
1373  BEGIN(CODEBLOCK_2);
1374  }
1375  YY_BREAK
1376 case 51:
1377 # line 262 "scan.l"
1378 BEGIN(SC); return ( '<' );
1379  YY_BREAK
1380 case 52:
1381 # line 263 "scan.l"
1382 return ( '^' );
1383  YY_BREAK
1384 case 53:
1385 # line 264 "scan.l"
1386 BEGIN(QUOTE); return ( '"' );
1387  YY_BREAK
1388 case 54:
1389 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1390 yy_c_buf_p = yy_cp = yy_bp + 1;
1391 YY_DO_BEFORE_ACTION; /* set up yytext again */
1392 # line 265 "scan.l"
1393 BEGIN(NUM); return ( '{' );
1394  YY_BREAK
1395 case 55:
1396 # line 266 "scan.l"
1397 BEGIN(BRACEERROR);
1398  YY_BREAK
1399 case 56:
1400 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1401 yy_c_buf_p = yy_cp = yy_bp + 1;
1402 YY_DO_BEFORE_ACTION; /* set up yytext again */
1403 # line 267 "scan.l"
1404 return ( '$' );
1405  YY_BREAK
1406 case 57:
1407 # line 269 "scan.l"
1408 {
1409  bracelevel = 1;
1411  return ( '\n' );
1412  }
1413  YY_BREAK
1414 case 58:
1415 # line 274 "scan.l"
1416 continued_action = true; ++linenum; return ( '\n' );
1417  YY_BREAK
1418 case 59:
1419 # line 276 "scan.l"
1420 {
1421  /* this rule is separate from the one below because
1422  * otherwise we get variable trailing context, so
1423  * we can't build the scanner using -{f,F}
1424  */
1425  bracelevel = 0;
1426  continued_action = false;
1427  BEGIN(ACTION);
1428  return ( '\n' );
1429  }
1430  YY_BREAK
1431 case 60:
1432 # line 287 "scan.l"
1433 {
1434  bracelevel = 0;
1435  continued_action = false;
1436  BEGIN(ACTION);
1437  return ( '\n' );
1438  }
1439  YY_BREAK
1440 case 61:
1441 # line 294 "scan.l"
1442 ++linenum; return ( '\n' );
1443  YY_BREAK
1444 case 62:
1445 # line 296 "scan.l"
1446 return ( EOF_OP );
1447  YY_BREAK
1448 case 63:
1449 # line 298 "scan.l"
1450 {
1451  sectnum = 3;
1452  BEGIN(SECT3);
1453  return ( EOF ); /* to stop the parser */
1454  }
1455  YY_BREAK
1456 case 64:
1457 # line 304 "scan.l"
1458 {
1459  int cclval;
1460 
1461  (void) strcpy( nmstr, (char *) yytext );
1462 
1463  /* check to see if we've already encountered this ccl */
1464  if ( (cclval = ccllookup( (Char *) nmstr )) )
1465  {
1466  yylval = cclval;
1467  ++cclreuse;
1468  return ( PREVCCL );
1469  }
1470  else
1471  {
1472  /* we fudge a bit. We know that this ccl will
1473  * soon be numbered as lastccl + 1 by cclinit
1474  */
1475  cclinstal( (Char *) nmstr, lastccl + 1 );
1476 
1477  /* push back everything but the leading bracket
1478  * so the ccl can be rescanned
1479  */
1480  PUT_BACK_STRING((Char *) nmstr, 1);
1481 
1482  BEGIN(FIRSTCCL);
1483  return ( '[' );
1484  }
1485  }
1486  YY_BREAK
1487 case 65:
1488 # line 333 "scan.l"
1489 {
1490  Char *nmdefptr;
1491  Char *ndlookup();
1492 
1493  (void) strcpy( nmstr, (char *) yytext );
1494  nmstr[yyleng - 1] = '\0'; /* chop trailing brace */
1495 
1496  /* lookup from "nmstr + 1" to chop leading brace */
1497  if ( ! (nmdefptr = ndlookup( nmstr + 1 )) )
1498  synerr( "undefined {name}" );
1499 
1500  else
1501  { /* push back name surrounded by ()'s */
1502  unput(')');
1503  PUT_BACK_STRING(nmdefptr, 0);
1504  unput('(');
1505  }
1506  }
1507  YY_BREAK
1508 case 66:
1509 # line 352 "scan.l"
1510 return ( yytext[0] );
1511  YY_BREAK
1512 case 67:
1513 # line 353 "scan.l"
1514 RETURNCHAR;
1515  YY_BREAK
1516 case 68:
1517 # line 354 "scan.l"
1518 ++linenum; return ( '\n' );
1519  YY_BREAK
1520 case 69:
1521 # line 357 "scan.l"
1522 return ( ',' );
1523  YY_BREAK
1524 case 70:
1525 # line 358 "scan.l"
1526 BEGIN(SECT2); return ( '>' );
1527  YY_BREAK
1528 case 71:
1529 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1530 yy_c_buf_p = yy_cp = yy_bp + 1;
1531 YY_DO_BEFORE_ACTION; /* set up yytext again */
1532 # line 359 "scan.l"
1533 BEGIN(CARETISBOL); return ( '>' );
1534  YY_BREAK
1535 case 72:
1536 # line 360 "scan.l"
1537 RETURNNAME;
1538  YY_BREAK
1539 case 73:
1540 # line 361 "scan.l"
1541 synerr( "bad start condition name" );
1542  YY_BREAK
1543 case 74:
1544 # line 363 "scan.l"
1545 BEGIN(SECT2); return ( '^' );
1546  YY_BREAK
1547 case 75:
1548 # line 366 "scan.l"
1549 RETURNCHAR;
1550  YY_BREAK
1551 case 76:
1552 # line 367 "scan.l"
1553 BEGIN(SECT2); return ( '"' );
1554  YY_BREAK
1555 case 77:
1556 # line 369 "scan.l"
1557 {
1558  synerr( "missing quote" );
1559  BEGIN(SECT2);
1560  ++linenum;
1561  return ( '"' );
1562  }
1563  YY_BREAK
1564 case 78:
1565 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1566 yy_c_buf_p = yy_cp = yy_bp + 1;
1567 YY_DO_BEFORE_ACTION; /* set up yytext again */
1568 # line 377 "scan.l"
1569 BEGIN(CCL); return ( '^' );
1570  YY_BREAK
1571 case 79:
1572 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1573 yy_c_buf_p = yy_cp = yy_bp + 1;
1574 YY_DO_BEFORE_ACTION; /* set up yytext again */
1575 # line 378 "scan.l"
1576 return ( '^' );
1577  YY_BREAK
1578 case 80:
1579 # line 379 "scan.l"
1580 BEGIN(CCL); yylval = '-'; return ( CHAR );
1581  YY_BREAK
1582 case 81:
1583 # line 380 "scan.l"
1584 BEGIN(CCL); RETURNCHAR;
1585  YY_BREAK
1586 case 82:
1587 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1588 yy_c_buf_p = yy_cp = yy_bp + 1;
1589 YY_DO_BEFORE_ACTION; /* set up yytext again */
1590 # line 382 "scan.l"
1591 return ( '-' );
1592  YY_BREAK
1593 case 83:
1594 # line 383 "scan.l"
1595 RETURNCHAR;
1596  YY_BREAK
1597 case 84:
1598 # line 384 "scan.l"
1599 BEGIN(SECT2); return ( ']' );
1600  YY_BREAK
1601 case 85:
1602 # line 387 "scan.l"
1603 {
1604  yylval = myctoi( yytext );
1605  return ( NUMBER );
1606  }
1607  YY_BREAK
1608 case 86:
1609 # line 392 "scan.l"
1610 return ( ',' );
1611  YY_BREAK
1612 case 87:
1613 # line 393 "scan.l"
1614 BEGIN(SECT2); return ( '}' );
1615  YY_BREAK
1616 case 88:
1617 # line 395 "scan.l"
1618 {
1619  synerr( "bad character inside {}'s" );
1620  BEGIN(SECT2);
1621  return ( '}' );
1622  }
1623  YY_BREAK
1624 case 89:
1625 # line 401 "scan.l"
1626 {
1627  synerr( "missing }" );
1628  BEGIN(SECT2);
1629  ++linenum;
1630  return ( '}' );
1631  }
1632  YY_BREAK
1633 case 90:
1634 # line 409 "scan.l"
1635 synerr( "bad name in {}'s" ); BEGIN(SECT2);
1636  YY_BREAK
1637 case 91:
1638 # line 410 "scan.l"
1639 synerr( "missing }" ); ++linenum; BEGIN(SECT2);
1640  YY_BREAK
1641 case 92:
1642 # line 413 "scan.l"
1643 bracelevel = 0;
1644  YY_BREAK
1645 case 93:
1646 # line 414 "scan.l"
1647 {
1648  ACTION_ECHO;
1650  }
1651  YY_BREAK
1652 case 94:
1653 # line 418 "scan.l"
1654 {
1655  ACTION_ECHO;
1657  }
1658  YY_BREAK
1659 case 95:
1660 # line 422 "scan.l"
1661 ACTION_ECHO;
1662  YY_BREAK
1663 case 96:
1664 # line 423 "scan.l"
1665 {
1666  ++linenum;
1667  ACTION_ECHO;
1668  if ( bracelevel == 0 ||
1669  (doing_codeblock && indented_code) )
1670  {
1671  if ( ! doing_codeblock )
1672  fputs( "\tYY_BREAK\n", temp_action_file );
1673 
1674  doing_codeblock = false;
1675  BEGIN(SECT2);
1676  }
1677  }
1678  YY_BREAK
1679  /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
1680 case 97:
1681 # line 439 "scan.l"
1682 ACTION_ECHO; ++bracelevel;
1683  YY_BREAK
1684 case 98:
1685 # line 440 "scan.l"
1686 ACTION_ECHO; --bracelevel;
1687  YY_BREAK
1688 case 99:
1689 # line 441 "scan.l"
1690 ACTION_ECHO;
1691  YY_BREAK
1692 case 100:
1693 # line 442 "scan.l"
1694 ACTION_ECHO;
1695  YY_BREAK
1696 case 101:
1697 # line 443 "scan.l"
1699  YY_BREAK
1700 case 102:
1701 # line 444 "scan.l"
1702 ACTION_ECHO; /* character constant */
1703  YY_BREAK
1704 case 103:
1705 # line 445 "scan.l"
1707  YY_BREAK
1708 case 104:
1709 # line 446 "scan.l"
1710 {
1711  ++linenum;
1712  ACTION_ECHO;
1713  if ( bracelevel == 0 )
1714  {
1715  fputs( "\tYY_BREAK\n", temp_action_file );
1716  BEGIN(SECT2);
1717  }
1718  }
1719  YY_BREAK
1720 case 105:
1721 # line 455 "scan.l"
1722 ACTION_ECHO;
1723  YY_BREAK
1724 case 106:
1725 # line 457 "scan.l"
1727  YY_BREAK
1728 case 107:
1729 # line 458 "scan.l"
1730 ACTION_ECHO;
1731  YY_BREAK
1732 case 108:
1733 # line 459 "scan.l"
1734 ACTION_ECHO;
1735  YY_BREAK
1736 case 109:
1737 # line 460 "scan.l"
1738 ++linenum; ACTION_ECHO;
1739  YY_BREAK
1740 case 110:
1741 # line 461 "scan.l"
1742 ACTION_ECHO;
1743  YY_BREAK
1744 case 111:
1745 # line 463 "scan.l"
1746 ACTION_ECHO;
1747  YY_BREAK
1748 case 112:
1749 # line 464 "scan.l"
1750 ACTION_ECHO;
1751  YY_BREAK
1752 case 113:
1753 # line 465 "scan.l"
1754 ++linenum; ACTION_ECHO;
1755  YY_BREAK
1756 case 114:
1757 # line 466 "scan.l"
1759  YY_BREAK
1760 case 115:
1761 # line 467 "scan.l"
1762 ACTION_ECHO;
1763  YY_BREAK
1764 case YY_STATE_EOF(ACTION):
1767 # line 469 "scan.l"
1768 {
1769  synerr( "EOF encountered inside an action" );
1770  yyterminate();
1771  }
1772  YY_BREAK
1773 case 117:
1774 # line 475 "scan.l"
1775 {
1776  yylval = myesc( yytext );
1777  return ( CHAR );
1778  }
1779  YY_BREAK
1780 case 118:
1781 # line 480 "scan.l"
1782 {
1783  yylval = myesc( yytext );
1784  BEGIN(CCL);
1785  return ( CHAR );
1786  }
1787  YY_BREAK
1788 case 119:
1789 # line 487 "scan.l"
1790 ECHO;
1791  YY_BREAK
1792 case 120:
1793 # line 488 "scan.l"
1794 ECHO;
1795  YY_BREAK
1796  case YY_STATE_EOF(INITIAL):
1797  case YY_STATE_EOF(SECT2):
1798  case YY_STATE_EOF(SECT3):
1799  case YY_STATE_EOF(CODEBLOCK):
1800  case YY_STATE_EOF(PICKUPDEF):
1801  case YY_STATE_EOF(SC):
1802  case YY_STATE_EOF(CARETISBOL):
1803  case YY_STATE_EOF(NUM):
1804  case YY_STATE_EOF(QUOTE):
1805  case YY_STATE_EOF(FIRSTCCL):
1806  case YY_STATE_EOF(CCL):
1807  case YY_STATE_EOF(RECOVER):
1808  case YY_STATE_EOF(BRACEERROR):
1809  case YY_STATE_EOF(C_COMMENT):
1811  case YY_STATE_EOF(USED_LIST):
1812  case YY_STATE_EOF(CODEBLOCK_2):
1813  case YY_STATE_EOF(XLATION):
1814  yyterminate();
1815 
1816  case YY_END_OF_BUFFER:
1817  {
1818  /* amount of text matched not including the EOB char */
1819  int yy_amount_of_matched_text = yy_cp - yytext - 1;
1820 
1821  /* undo the effects of YY_DO_BEFORE_ACTION */
1822  *yy_cp = yy_hold_char;
1823 
1824  /* note that here we test for yy_c_buf_p "<=" to the position
1825  * of the first EOB in the buffer, since yy_c_buf_p will
1826  * already have been incremented past the NUL character
1827  * (since all states make transitions on EOB to the end-
1828  * of-buffer state). Contrast this with the test in yyinput().
1829  */
1830  if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1831  /* this was really a NUL */
1832  {
1833  yy_state_type yy_next_state;
1834 
1835  yy_c_buf_p = yytext + yy_amount_of_matched_text;
1836 
1837  yy_current_state = yy_get_previous_state();
1838 
1839  /* okay, we're now positioned to make the
1840  * NUL transition. We couldn't have
1841  * yy_get_previous_state() go ahead and do it
1842  * for us because it doesn't know how to deal
1843  * with the possibility of jamming (and we
1844  * don't want to build jamming into it because
1845  * then it will run more slowly)
1846  */
1847 
1848  yy_next_state = yy_try_NUL_trans( yy_current_state );
1849 
1850  yy_bp = yytext + YY_MORE_ADJ;
1851 
1852  if ( yy_next_state )
1853  {
1854  /* consume the NUL */
1855  yy_cp = ++yy_c_buf_p;
1856  yy_current_state = yy_next_state;
1857  goto yy_match;
1858  }
1859 
1860  else
1861  {
1862  goto yy_find_action;
1863  }
1864  }
1865 
1866  else switch ( yy_get_next_buffer() )
1867  {
1868  case EOB_ACT_END_OF_FILE:
1869  {
1870  yy_did_buffer_switch_on_eof = 0;
1871 
1872  if ( yywrap() )
1873  {
1874  /* note: because we've taken care in
1875  * yy_get_next_buffer() to have set up yytext,
1876  * we can now set up yy_c_buf_p so that if some
1877  * total hoser (like flex itself) wants
1878  * to call the scanner after we return the
1879  * YY_NULL, it'll still work - another YY_NULL
1880  * will get returned.
1881  */
1882  yy_c_buf_p = yytext + YY_MORE_ADJ;
1883 
1884  yy_act = YY_STATE_EOF((yy_start - 1) / 2);
1885  goto do_action;
1886  }
1887 
1888  else
1889  {
1890  if ( ! yy_did_buffer_switch_on_eof )
1891  YY_NEW_FILE;
1892  }
1893  }
1894  break;
1895 
1896  case EOB_ACT_CONTINUE_SCAN:
1897  yy_c_buf_p = yytext + yy_amount_of_matched_text;
1898 
1899  yy_current_state = yy_get_previous_state();
1900 
1901  yy_cp = yy_c_buf_p;
1902  yy_bp = yytext + YY_MORE_ADJ;
1903  goto yy_match;
1904 
1905  case EOB_ACT_LAST_MATCH:
1906  yy_c_buf_p =
1907  &yy_current_buffer->yy_ch_buf[yy_n_chars];
1908 
1909  yy_current_state = yy_get_previous_state();
1910 
1911  yy_cp = yy_c_buf_p;
1912  yy_bp = yytext + YY_MORE_ADJ;
1913  goto yy_find_action;
1914  }
1915  break;
1916  }
1917 
1918  default:
1919 #ifdef FLEX_DEBUG
1920  printf( "action # %d\n", yy_act );
1921 #endif
1923  "fatal flex scanner internal error--no action found" );
1924  }
1925  }
1926  }
1927 
1928 
1929 /* yy_get_next_buffer - try to read in a new buffer
1930  *
1931  * synopsis
1932  * int yy_get_next_buffer();
1933  *
1934  * returns a code representing an action
1935  * EOB_ACT_LAST_MATCH -
1936  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1937  * EOB_ACT_END_OF_FILE - end of file
1938  */
1939 
1940 static int yy_get_next_buffer()
1941 
1942  {
1943  YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
1944  YY_CHAR *source = yytext - 1; /* copy prev. char, too */
1945  int number_to_move, i;
1946  int ret_val;
1947 
1948  if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
1950  "fatal flex scanner internal error--end of buffer missed" );
1951 
1952  /* try to read more data */
1953 
1954  /* first move last chars to start of buffer */
1955  number_to_move = yy_c_buf_p - yytext;
1956 
1957  for ( i = 0; i < number_to_move; ++i )
1958  *(dest++) = *(source++);
1959 
1960  if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
1961  /* don't do the read, it's not guaranteed to return an EOF,
1962  * just force an EOF
1963  */
1964  yy_n_chars = 0;
1965 
1966  else
1967  {
1968  int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
1969 
1970  if ( num_to_read > YY_READ_BUF_SIZE )
1971  num_to_read = YY_READ_BUF_SIZE;
1972 
1973  else if ( num_to_read <= 0 )
1974  YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
1975 
1976  /* read in more data */
1977  YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
1978  yy_n_chars, num_to_read );
1979  }
1980 
1981  if ( yy_n_chars == 0 )
1982  {
1983  if ( number_to_move == 1 )
1984  {
1985  ret_val = EOB_ACT_END_OF_FILE;
1986  yy_current_buffer->yy_eof_status = EOF_DONE;
1987  }
1988 
1989  else
1990  {
1991  ret_val = EOB_ACT_LAST_MATCH;
1992  yy_current_buffer->yy_eof_status = EOF_PENDING;
1993  }
1994  }
1995 
1996  else
1997  ret_val = EOB_ACT_CONTINUE_SCAN;
1998 
1999  yy_n_chars += number_to_move;
2000  yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2001  yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2002 
2003  /* yytext begins at the second character in yy_ch_buf; the first
2004  * character is the one which preceded it before reading in the latest
2005  * buffer; it needs to be kept around in case it's a newline, so
2006  * yy_get_previous_state() will have with '^' rules active
2007  */
2008 
2009  yytext = &yy_current_buffer->yy_ch_buf[1];
2010 
2011  return ( ret_val );
2012  }
2013 
2014 
2015 /* yy_get_previous_state - get the state just before the EOB char was reached
2016  *
2017  * synopsis
2018  * yy_state_type yy_get_previous_state();
2019  */
2020 
2021 static yy_state_type yy_get_previous_state()
2022 
2023  {
2024  yy_state_type yy_current_state;
2025  YY_CHAR *yy_cp;
2026 
2027  YY_CHAR *yy_bp = yytext;
2028 
2029  yy_current_state = yy_start;
2030  if ( yy_bp[-1] == '\n' )
2031  ++yy_current_state;
2032  yy_state_ptr = yy_state_buf;
2033  *yy_state_ptr++ = yy_current_state;
2034 
2035  for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2036  {
2037  YY_CHAR yy_c = (*yy_cp ? yy_ec[(int)*yy_cp] : 1);
2038  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2039  {
2040  yy_current_state = yy_def[yy_current_state];
2041  if ( yy_current_state >= 391 )
2042  yy_c = yy_meta[(int)yy_c];
2043  }
2044  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2045  *yy_state_ptr++ = yy_current_state;
2046  }
2047 
2048  return ( yy_current_state );
2049  }
2050 
2051 
2052 /* yy_try_NUL_trans - try to make a transition on the NUL character
2053  *
2054  * synopsis
2055  * next_state = yy_try_NUL_trans( current_state );
2056  */
2057 
2058 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2059  {
2060  int yy_is_jam;
2061 
2062  YY_CHAR yy_c = 1;
2063  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2064  {
2065  yy_current_state = yy_def[yy_current_state];
2066  if ( yy_current_state >= 391 )
2067  yy_c = yy_meta[(int)yy_c];
2068  }
2069  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2070  *yy_state_ptr++ = yy_current_state;
2071  yy_is_jam = (yy_current_state == 390);
2072 
2073  return ( yy_is_jam ? 0 : yy_current_state );
2074  }
2075 
2076 
2077 static void yyunput( YY_CHAR c, YY_CHAR *yy_bp )
2078  {
2079  YY_CHAR *yy_cp = yy_c_buf_p;
2080 
2081  /* undo effects of setting up yytext */
2082  *yy_cp = yy_hold_char;
2083 
2084  if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2085  { /* need to shift things up to make room */
2086  int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
2087  YY_CHAR *dest =
2088  &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
2089  YY_CHAR *source =
2090  &yy_current_buffer->yy_ch_buf[number_to_move];
2091 
2092  while ( source > yy_current_buffer->yy_ch_buf )
2093  *--dest = *--source;
2094 
2095  yy_cp += dest - source;
2096  yy_bp += dest - source;
2097  yy_n_chars = yy_current_buffer->yy_buf_size;
2098 
2099  if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2100  YY_FATAL_ERROR( "flex scanner push-back overflow" );
2101  }
2102 
2103  if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
2104  yy_cp[-2] = '\n';
2105 
2106  *--yy_cp = c;
2107 
2108  /* note: the formal parameter *must* be called "yy_bp" for this
2109  * macro to now work correctly
2110  */
2111  YY_DO_BEFORE_ACTION; /* set up yytext again */
2112  }
2113 
2114 
2115 void yyrestart( FILE *input_file )
2116  {
2117  yy_init_buffer( yy_current_buffer, input_file );
2119  }
2120 
2121 
2122 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2123  {
2124  if ( yy_current_buffer == new_buffer )
2125  return;
2126 
2127  if ( yy_current_buffer )
2128  {
2129  /* flush out information for old buffer */
2130  *yy_c_buf_p = yy_hold_char;
2131  yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2132  yy_current_buffer->yy_n_chars = yy_n_chars;
2133  }
2134 
2135  yy_current_buffer = new_buffer;
2137 
2138  /* we don't actually know whether we did this switch during
2139  * EOF (yywrap()) processing, but the only time this flag
2140  * is looked at is after yywrap() is called, so it's safe
2141  * to go ahead and always set it.
2142  */
2143  yy_did_buffer_switch_on_eof = 1;
2144  }
2145 
2146 
2148  {
2149  yy_n_chars = yy_current_buffer->yy_n_chars;
2150  yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2151  yyin = yy_current_buffer->yy_input_file;
2152  yy_hold_char = *yy_c_buf_p;
2153  }
2154 
2155 
2156 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2157  {
2158  YY_BUFFER_STATE b;
2159 
2160  b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
2161 
2162  if ( ! b )
2163  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2164 
2165  b->yy_buf_size = size;
2166 
2167  /* yy_ch_buf has to be 2 characters longer than the size given because
2168  * we need to put in 2 end-of-buffer characters.
2169  */
2170  b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
2171 
2172  if ( ! b->yy_ch_buf )
2173  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2174 
2175  yy_init_buffer( b, file );
2176 
2177  return ( b );
2178  }
2179 
2180 
2181 void yy_delete_buffer( YY_BUFFER_STATE b )
2182  {
2183  if ( b == yy_current_buffer )
2184  yy_current_buffer = (YY_BUFFER_STATE) 0;
2185 
2186  free( (char *) b->yy_ch_buf );
2187  free( (char *) b );
2188  }
2189 
2190 
2191 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2192  {
2193  b->yy_input_file = file;
2194 
2195  /* we put in the '\n' and start reading from [1] so that an
2196  * initial match-at-newline will be true.
2197  */
2198 
2199  b->yy_ch_buf[0] = '\n';
2200  b->yy_n_chars = 1;
2201 
2202  /* we always need two end-of-buffer characters. The first causes
2203  * a transition to the end-of-buffer state. The second causes
2204  * a jam in that state.
2205  */
2208 
2209  b->yy_buf_pos = &b->yy_ch_buf[1];
2210 
2212  }
2213 # line 488 "scan.l"
2214 
2215 
2216 
2217 int yywrap()
2218 
2219  {
2220  if ( --num_input_files > 0 )
2221  {
2223  return ( 0 );
2224  }
2225 
2226  else
2227  return ( 1 );
2228  }
2229 
2230 
2231 /* set_input_file - open the given file (if NULL, stdin) for scanning */
2232 
2233 void set_input_file( file )
2234 char *file;
2235 
2236  {
2237  if ( file )
2238  {
2239  infilename = file;
2240  yyin = fopen( infilename, "r" );
2241 
2242  if ( yyin == NULL )
2243  lerrsf( "can't open %s", file );
2244  }
2245 
2246  else
2247  {
2248  yyin = stdin;
2249  infilename = "<stdin>";
2250  }
2251  }
Char nmdef[MAXLINE]
Definition: scan.c:969
#define YY_END_OF_BUFFER_CHAR
Definition: scan.c:119
int yyleng
Definition: scan.c:288
#define yyterminate()
Definition: scan.c:63
struct yy_buffer_state * YY_BUFFER_STATE
Definition: scan.c:125
#define ACTION_ECHO
Definition: scan.c:160
int checking_used
Definition: scan.c:967
int yy_n_chars
Definition: scan.c:248
char ** input_files
Definition: flex.c:106
#define EOF_NOT_SEEN
Definition: scan.c:251
#define INITIAL
Definition: scan.c:129
#define EOF_DONE
Definition: scan.c:256
#define YY_TRAILING_MASK
Definition: scan.c:918
Char * ndlookup(char *nd)
Definition: sym.c:219
int continued_action
Definition: flex.c:69
#define PUT_BACK_STRING(str, start)
Definition: scan.c:175
#define MARK_END_OF_PROLOG
Definition: scan.c:161
int yy_act
Definition: scan.c:963
#define YY_INPUT(buf, result, max_size)
Definition: scan.c:54
#define YY_USER_INIT
Definition: scan.c:280
#define SECT3
Definition: scan.c:188
int i
Definition: scan.c:967
int doing_codeblock
Definition: scan.c:968
int * xlation
Definition: flex.c:85
#define YY_FATAL_ERROR(msg)
Definition: scan.c:81
void cclinstal(Char[], int)
int yy_buf_size
Definition: scan.c:245
#define YY_READ_BUF_SIZE
Definition: scan.c:37
YY_CHAR * yy_buf_pos
Definition: scan.c:242
Char myesc()
#define YY_STATE_EOF(state)
Definition: scan.c:100
#define printf
Definition: epicsStdio.h:41
void yy_delete_buffer(YY_BUFFER_STATE b)
Definition: scan.c:2181
#define SECT2PROLOG
Definition: scan.c:187
YY_BUFFER_STATE yy_create_buffer(FILE *file, int size)
Definition: scan.c:2156
FILE * yyout
Definition: scan.c:290
#define NULL
Definition: catime.c:38
int linenum
Definition: flex.c:71
char nmstr[MAXLINE]
Definition: flex.c:99
#define CHECK_REJECT(str)
Definition: scan.c:179
#define CODEBLOCK_2
Definition: scan.c:205
#define YY_CHAR
Definition: scan.c:127
#define EOB_ACT_END_OF_FILE
Definition: scan.c:220
int csize
Definition: flex.c:68
#define QUOTE
Definition: scan.c:194
#define YY_DO_BEFORE_ACTION
Definition: scan.c:212
void yy_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: scan.c:2191
int cclreuse
Definition: flex.c:96
#define RETURNNAME
Definition: scan.c:171
void synerr(char[])
#define yywrap()
Definition: scan.c:91
void lerrsf(char[], char[])
#define ACTION
Definition: scan.c:197
#define EOB_ACT_CONTINUE_SCAN
Definition: scan.c:219
#define CODEBLOCK
Definition: scan.c:189
#define CCL
Definition: scan.c:196
#define REALLY_USED
Definition: flexdef.h:340
#define YY_BUF_SIZE
Definition: scan.c:122
#define RECOVER
Definition: scan.c:198
YY_CHAR * yy_cp
Definition: scan.c:962
#define PICKUPDEF
Definition: scan.c:190
#define Char
Definition: flexdef.h:59
#define FIRSTCCL
Definition: scan.c:195
int yy_eof_status
Definition: scan.c:250
int all_upper(Char *)
Definition: misc.c:125
#define USED_LIST
Definition: scan.c:204
FILE * yyin
Definition: scan.c:290
int num_input_files
Definition: flex.c:107
YY_CHAR * yytext
Definition: scan.c:287
#define EOB_ACT_LAST_MATCH
Definition: scan.c:221
char * infilename
Definition: flex.c:73
#define unput(c)
Definition: scan.c:234
#define XLATION
Definition: scan.c:206
#define ACTION_STRING
Definition: scan.c:202
#define stdout
Definition: epicsStdio.h:30
#define MAXLINE
Definition: flexdef.h:72
#define SC
Definition: scan.c:191
void line_directive_out(FILE *)
Definition: misc.c:479
YY_CHAR * yy_bp
Definition: scan.c:962
void flexfatal(char[])
void set_input_file(char *file)
Definition: scan.c:2233
#define RETURNCHAR
Definition: scan.c:167
int myctoi(Char[])
#define REALLY_NOT_USED
Definition: flexdef.h:341
#define stdin
Definition: epicsStdio.h:28
#define CARETISBOL
Definition: scan.c:192
int yy_state_type
Definition: scan.c:293
FILE * temp_action_file
Definition: flex.c:103
#define BEGIN
Definition: scan.c:97
int indented_code
Definition: scan.c:967
int ccllookup(Char[])
void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: scan.c:2122
#define CHECK_YYMORE(str)
Definition: scan.c:183
void pinpoint_message(char[])
#define YY_MORE_ADJ
Definition: scan.c:931
FILE * yy_input_file
Definition: scan.c:239
#define BRACEERROR
Definition: scan.c:199
#define EOF_PENDING
Definition: scan.c:255
void ndinstal(char[], Char[])
#define stderr
Definition: epicsStdio.h:32
#define YY_NEW_FILE
Definition: scan.c:103
#define YY_END_OF_BUFFER
Definition: scan.c:292
int num_xlations
Definition: flex.c:86
int reject_really_used
Definition: flex.c:70
int new_xlation
Definition: scan.c:967
#define YY_DECL
Definition: scan.c:164
int yymore_really_used
Definition: flex.c:70
#define YY_TRAILING_HEAD_MASK
Definition: scan.c:919
int lastccl
Definition: flex.c:96
#define PERCENT_BRACE_ACTION
Definition: scan.c:203
#define ECHO
Definition: scan.c:49
#define YY_BREAK
Definition: scan.c:117
void yyrestart(FILE *input_file)
Definition: scan.c:2115
int all_lower(Char *)
Definition: misc.c:104
int sectnum
Definition: flex.c:100
#define C_COMMENT
Definition: scan.c:200
#define SECT2
Definition: scan.c:186
#define NUM
Definition: scan.c:193
void yy_load_buffer_state(void)
Definition: scan.c:2147
YY_CHAR * yy_ch_buf
Definition: scan.c:241
#define ACTION_COMMENT
Definition: scan.c:201
FILE * input_file
Definition: antelope.c:46
#define YY_USER_ACTION
Definition: scan.c:276