blob: adc596462367bdc600ff7b61e837d0bfe1357af3 [file] [log] [blame]
#include <stdio.h>
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX BUFSIZ
#ifndef __cplusplus
# define output(c) (void)putc(c,yyout)
#else
# define lex_output(c) (void)putc(c,yyout)
#endif
#if defined(__cplusplus) || defined(__STDC__)
#if defined(__cplusplus) && defined(__EXTERN_C__)
extern "C" {
#endif
int yyback(int *, int);
int yyinput(void);
int yylook(void);
void yyoutput(int);
int yyracc(int);
int yyreject(void);
void yyunput(int);
int yylex(void);
#ifdef YYLEX_E
void yywoutput(wchar_t);
wchar_t yywinput(void);
#endif
#ifndef yyless
int yyless(int);
#endif
#ifndef yywrap
int yywrap_nasko(void);
#endif
#ifdef LEXDEBUG
void allprint(char);
void sprint(char *);
#endif
#if defined(__cplusplus) && defined(__EXTERN_C__)
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
void exit(int);
#ifdef __cplusplus
}
#endif
#endif
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
#ifndef __cplusplus
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
#else
# define lex_input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
#endif
#define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng;
char yytext[YYLMAX];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin = 0, *yyout = 0;
extern int yylineno;
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
/* Lexical analyzer description for ANSI and C++ cdecl. */
/* The output of this file is included */
/* into the C file cdecl.c. */
char cdlexsccsid[] = "@(#)cdlex.l 2.2 3/30/88";
# define YYNEWLINE 10
yylex(){
if (yyin == 0) { yyin = stdin; yyin = stdout; }
int nstr; extern int yyprevious;
#ifdef __cplusplus
/* to avoid CC and lint complaining yyfussy not being used ...*/
static int __lex_hack = 0;
if (__lex_hack) goto yyfussy;
#endif
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap_nasko()) return(0); break;
case 1:
return ARRAY;
break;
case 2:
return AS;
break;
case 3:
return CAST;
break;
case 4:
return DECLARE;
break;
case 5:
return 0;
break;
case 6:
return EXPLAIN;
break;
case 7:
return FUNCTION;
break;
case 8:
return FUNCTION;
break;
case 9:
return HELP;
break;
case 10:
return INTO;
break;
case 11:
return MEMBER;
break;
case 12:
return OF;
break;
case 13:
return POINTER;
break;
case 14:
return POINTER;
break;
case 15:
return 0;
break;
case 16:
return REFERENCE;
break;
case 17:
return REFERENCE;
break;
case 18:
return RETURNING;
break;
case 19:
return RETURNING;
break;
case 20:
return SET;
break;
case 21:
return TO;
break;
case 22:
return ARRAY;
break;
case 23:
return DOUBLECOLON;
break;
case 24:
return HELP;
break;
case 25:
return COMMA;
break;
case 26:
{ yylval.dynstr = ds(yytext); return AUTO; }
break;
case 27:
{ yylval.dynstr = ds("char"); return CHAR; }
break;
case 28:
{ yylval.dynstr = ds(yytext); return CHAR; }
break;
case 29:
{ yylval.dynstr = ds(yytext); return CLASS; }
break;
case 30:
{ yylval.dynstr = ds("const"); return CONSTVOLATILE; }
break;
case 31:
{ yylval.dynstr = ds(yytext); return CONSTVOLATILE; }
break;
case 32:
{ yylval.dynstr = ds(yytext); return DOUBLE; }
break;
case 33:
{ yylval.dynstr = ds("enum"); return ENUM; }
break;
case 34:
{ yylval.dynstr = ds(yytext); return ENUM; }
break;
case 35:
{ yylval.dynstr = ds(yytext); return EXTERN; }
break;
case 36:
{ yylval.dynstr = ds(yytext); return FLOAT; }
break;
case 37:
{ yylval.dynstr = ds("int"); return INT; }
break;
case 38:
{ yylval.dynstr = ds(yytext); return INT; }
break;
case 39:
{ yylval.dynstr = ds(yytext); return LONG; }
break;
case 40:
{ yylval.dynstr = ds(yytext); return CONSTVOLATILE; }
break;
case 41:
{ yylval.dynstr = ds(yytext); return REGISTER; }
break;
case 42:
{ yylval.dynstr = ds(yytext); return SHORT; }
break;
case 43:
{ yylval.dynstr = ds(yytext); return SIGNED; }
break;
case 44:
{ yylval.dynstr = ds(yytext); return STATIC; }
break;
case 45:
{ yylval.dynstr = ds("struct"); return STRUCT; }
break;
case 46:
{ yylval.dynstr = ds(yytext); return STRUCT; }
break;
case 47:
{ yylval.dynstr = ds(yytext); return UNION; }
break;
case 48:
{ yylval.dynstr = ds(yytext); return UNSIGNED; }
break;
case 49:
{ yylval.dynstr = ds(yytext); return VOID; }
break;
case 50:
{ yylval.dynstr = ds(yytext); return CONSTVOLATILE; }
break;
case 51:
{ yylval.dynstr = ds(yytext); return NAME; }
break;
case 52:
{ yylval.dynstr = ds(yytext); return NUMBER; }
break;
case 53:
;
break;
case 54:
;
break;
case 55:
return *yytext;
break;
case 56:
{
(void) printf("bad character '%s'\n",visible(*yytext));
return *yytext;
}
break;
case -1:
break;
default:
(void)fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
int yyvstop[] = {
0,
56,
0,
54,
56,
0,
55,
0,
53,
56,
0,
55,
56,
0,
25,
56,
0,
52,
56,
0,
56,
0,
24,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
51,
56,
0,
53,
0,
52,
0,
23,
0,
51,
0,
51,
0,
2,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
12,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
21,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
38,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
14,
51,
0,
51,
0,
17,
51,
0,
51,
0,
19,
51,
0,
20,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
26,
51,
0,
3,
51,
0,
28,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
34,
51,
0,
5,
51,
0,
51,
0,
51,
0,
51,
0,
8,
51,
0,
9,
51,
0,
51,
0,
10,
51,
0,
39,
51,
0,
51,
0,
51,
0,
51,
0,
15,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
49,
51,
0,
51,
0,
1,
51,
0,
51,
0,
29,
51,
0,
31,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
36,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
42,
51,
0,
51,
0,
51,
0,
51,
0,
47,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
32,
51,
0,
51,
0,
51,
0,
35,
51,
0,
51,
0,
51,
0,
11,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
43,
51,
0,
44,
51,
0,
46,
51,
0,
51,
0,
22,
51,
0,
51,
0,
51,
0,
51,
0,
4,
51,
0,
51,
0,
6,
51,
0,
51,
0,
37,
51,
0,
40,
51,
0,
13,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
51,
0,
30,
51,
0,
51,
0,
7,
51,
0,
51,
0,
41,
51,
0,
51,
0,
51,
0,
48,
51,
0,
50,
51,
0,
27,
51,
0,
51,
0,
16,
51,
0,
18,
51,
0,
45,
51,
0,
51,
0,
33,
51,
0,
0};
# define YYTYPE unsigned char
struct yywork { YYTYPE verify, advance; } yycrank[] = {
0,0, 0,0, 1,3, 0,0,
0,0, 0,0, 0,0, 6,31,
0,0, 0,0, 1,4, 1,5,
31,0, 0,0, 0,0, 6,31,
6,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
1,6, 0,0, 0,0, 1,7,
0,0, 6,31, 0,0, 0,0,
6,31, 1,8, 0,0, 0,0,
0,0, 1,9, 6,31, 0,0,
0,0, 0,0, 6,31, 0,0,
0,0, 0,0, 0,0, 1,10,
10,33, 0,0, 0,0, 0,0,
1,11, 0,0, 1,12, 0,0,
0,0, 6,31, 0,0, 6,31,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 2,10, 9,32, 9,32,
9,32, 9,32, 9,32, 9,32,
9,32, 9,32, 9,32, 9,32,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 1,13, 39,69,
1,14, 1,15, 1,16, 1,17,
18,48, 1,18, 1,19, 21,51,
23,53, 1,20, 1,21, 1,22,
1,23, 1,24, 1,25, 1,26,
1,27, 1,28, 1,29, 1,30,
2,13, 17,46, 2,14, 2,15,
2,16, 2,17, 19,49, 2,18,
2,19, 20,50, 17,47, 2,20,
2,21, 2,22, 2,23, 2,24,
2,25, 2,26, 2,27, 2,28,
2,29, 2,30, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
13,35, 13,36, 22,52, 13,37,
25,56, 26,57, 28,62, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 24,54, 29,63, 35,66,
37,67, 12,34, 24,55, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 12,34, 12,34, 12,34,
12,34, 14,38, 27,58, 15,42,
16,44, 27,59, 27,60, 38,68,
14,39, 30,64, 40,70, 41,71,
14,40, 15,43, 16,45, 14,41,
42,72, 27,61, 43,73, 30,65,
44,74, 45,75, 46,78, 47,79,
48,80, 49,81, 50,82, 51,83,
45,76, 52,84, 54,85, 55,86,
45,77, 56,87, 57,88, 57,89,
58,91, 59,92, 60,93, 61,94,
63,96, 64,98, 65,99, 66,101,
67,102, 65,100, 68,103, 69,104,
57,90, 70,105, 63,97, 71,106,
72,107, 73,108, 74,109, 75,110,
61,95, 76,111, 77,112, 78,113,
79,114, 80,115, 81,116, 82,118,
83,119, 84,120, 85,121, 87,122,
88,123, 89,124, 90,125, 92,126,
81,117, 93,127, 94,128, 95,129,
96,130, 97,131, 98,132, 99,133,
100,134, 101,135, 104,136, 105,137,
106,138, 107,139, 108,140, 109,141,
111,142, 112,143, 113,144, 114,145,
116,146, 119,147, 120,148, 121,149,
123,150, 124,151, 125,152, 126,153,
127,154, 128,155, 129,156, 130,157,
131,158, 132,159, 134,160, 136,161,
138,162, 139,163, 140,164, 141,165,
142,166, 143,167, 145,168, 146,169,
147,170, 148,171, 149,172, 150,173,
151,174, 152,175, 154,176, 155,177,
156,178, 158,179, 159,180, 160,181,
161,182, 162,183, 163,184, 165,185,
166,186, 168,187, 169,188, 171,189,
172,190, 173,191, 174,192, 175,193,
178,194, 179,195, 181,196, 182,197,
183,198, 185,199, 187,200, 191,201,
192,202, 193,203, 194,204, 195,205,
196,206, 197,207, 199,208, 201,209,
203,210, 204,211, 208,212, 212,213,
0,0};
struct yysvf yysvec[] = {
0, 0, 0,
yycrank+-1, 0, 0,
yycrank+-23, yysvec+1, 0,
yycrank+0, 0, yyvstop+1,
yycrank+0, 0, yyvstop+3,
yycrank+0, 0, yyvstop+6,
yycrank+-6, 0, yyvstop+8,
yycrank+0, 0, yyvstop+11,
yycrank+0, 0, yyvstop+14,
yycrank+34, 0, yyvstop+17,
yycrank+2, 0, yyvstop+20,
yycrank+0, 0, yyvstop+22,
yycrank+94, 0, yyvstop+25,
yycrank+38, yysvec+12, yyvstop+28,
yycrank+120, yysvec+12, yyvstop+31,
yycrank+118, yysvec+12, yyvstop+34,
yycrank+110, yysvec+12, yyvstop+37,
yycrank+13, yysvec+12, yyvstop+40,
yycrank+3, yysvec+12, yyvstop+43,
yycrank+16, yysvec+12, yyvstop+46,
yycrank+18, yysvec+12, yyvstop+49,
yycrank+6, yysvec+12, yyvstop+52,
yycrank+43, yysvec+12, yyvstop+55,
yycrank+6, yysvec+12, yyvstop+58,
yycrank+74, yysvec+12, yyvstop+61,
yycrank+39, yysvec+12, yyvstop+64,
yycrank+56, yysvec+12, yyvstop+67,
yycrank+117, yysvec+12, yyvstop+70,
yycrank+47, yysvec+12, yyvstop+73,
yycrank+76, yysvec+12, yyvstop+76,
yycrank+124, yysvec+12, yyvstop+79,
yycrank+-2, yysvec+6, yyvstop+82,
yycrank+0, yysvec+9, yyvstop+84,
yycrank+0, 0, yyvstop+86,
yycrank+0, yysvec+12, yyvstop+88,
yycrank+73, yysvec+12, yyvstop+90,
yycrank+0, yysvec+12, yyvstop+92,
yycrank+72, yysvec+12, yyvstop+95,
yycrank+108, yysvec+12, yyvstop+97,
yycrank+2, yysvec+12, yyvstop+99,
yycrank+129, yysvec+12, yyvstop+101,
yycrank+117, yysvec+12, yyvstop+103,
yycrank+133, yysvec+12, yyvstop+105,
yycrank+117, yysvec+12, yyvstop+107,
yycrank+119, yysvec+12, yyvstop+109,
yycrank+132, yysvec+12, yyvstop+111,
yycrank+127, yysvec+12, yyvstop+113,
yycrank+129, yysvec+12, yyvstop+115,
yycrank+132, yysvec+12, yyvstop+117,
yycrank+125, yysvec+12, yyvstop+119,
yycrank+132, yysvec+12, yyvstop+121,
yycrank+134, yysvec+12, yyvstop+123,
yycrank+148, yysvec+12, yyvstop+125,
yycrank+0, yysvec+12, yyvstop+127,
yycrank+141, yysvec+12, yyvstop+130,
yycrank+133, yysvec+12, yyvstop+132,
yycrank+144, yysvec+12, yyvstop+134,
yycrank+148, yysvec+12, yyvstop+136,
yycrank+136, yysvec+12, yyvstop+138,
yycrank+142, yysvec+12, yyvstop+140,
yycrank+151, yysvec+12, yyvstop+142,
yycrank+158, yysvec+12, yyvstop+144,
yycrank+0, yysvec+12, yyvstop+146,
yycrank+151, yysvec+12, yyvstop+149,
yycrank+158, yysvec+12, yyvstop+151,
yycrank+153, yysvec+12, yyvstop+153,
yycrank+162, yysvec+12, yyvstop+155,
yycrank+149, yysvec+12, yyvstop+157,
yycrank+146, yysvec+12, yyvstop+159,
yycrank+149, yysvec+12, yyvstop+161,
yycrank+150, yysvec+12, yyvstop+163,
yycrank+152, yysvec+12, yyvstop+165,
yycrank+160, yysvec+12, yyvstop+167,
yycrank+171, yysvec+12, yyvstop+169,
yycrank+161, yysvec+12, yyvstop+171,
yycrank+155, yysvec+12, yyvstop+173,
yycrank+165, yysvec+12, yyvstop+175,
yycrank+173, yysvec+12, yyvstop+177,
yycrank+178, yysvec+12, yyvstop+179,
yycrank+177, yysvec+12, yyvstop+181,
yycrank+165, yysvec+12, yyvstop+183,
yycrank+177, yysvec+12, yyvstop+185,
yycrank+176, yysvec+12, yyvstop+188,
yycrank+182, yysvec+12, yyvstop+190,
yycrank+173, yysvec+12, yyvstop+192,
yycrank+172, yysvec+12, yyvstop+194,
yycrank+0, yysvec+12, yyvstop+196,
yycrank+167, yysvec+12, yyvstop+199,
yycrank+183, yysvec+12, yyvstop+201,
yycrank+180, yysvec+12, yyvstop+204,
yycrank+169, yysvec+12, yyvstop+206,
yycrank+0, yysvec+12, yyvstop+209,
yycrank+173, yysvec+12, yyvstop+212,
yycrank+179, yysvec+12, yyvstop+214,
yycrank+174, yysvec+12, yyvstop+216,
yycrank+174, yysvec+12, yyvstop+218,
yycrank+181, yysvec+12, yyvstop+220,
yycrank+188, yysvec+12, yyvstop+222,
yycrank+178, yysvec+12, yyvstop+224,
yycrank+195, yysvec+12, yyvstop+226,
yycrank+199, yysvec+12, yyvstop+228,
yycrank+176, yysvec+12, yyvstop+230,
yycrank+0, yysvec+12, yyvstop+232,
yycrank+0, yysvec+12, yyvstop+235,
yycrank+201, yysvec+12, yyvstop+238,
yycrank+184, yysvec+12, yyvstop+241,
yycrank+184, yysvec+12, yyvstop+243,
yycrank+204, yysvec+12, yyvstop+245,
yycrank+194, yysvec+12, yyvstop+247,
yycrank+202, yysvec+12, yyvstop+249,
yycrank+0, yysvec+12, yyvstop+252,
yycrank+207, yysvec+12, yyvstop+255,
yycrank+191, yysvec+12, yyvstop+257,
yycrank+190, yysvec+12, yyvstop+259,
yycrank+191, yysvec+12, yyvstop+261,
yycrank+0, yysvec+12, yyvstop+264,
yycrank+205, yysvec+12, yyvstop+267,
yycrank+0, yysvec+12, yyvstop+269,
yycrank+0, yysvec+12, yyvstop+272,
yycrank+208, yysvec+12, yyvstop+275,
yycrank+205, yysvec+12, yyvstop+277,
yycrank+195, yysvec+12, yyvstop+279,
yycrank+0, yysvec+12, yyvstop+281,
yycrank+198, yysvec+12, yyvstop+284,
yycrank+198, yysvec+12, yyvstop+286,
yycrank+200, yysvec+12, yyvstop+288,
yycrank+199, yysvec+12, yyvstop+290,
yycrank+215, yysvec+12, yyvstop+292,
yycrank+212, yysvec+12, yyvstop+294,
yycrank+219, yysvec+12, yyvstop+296,
yycrank+209, yysvec+12, yyvstop+298,
yycrank+217, yysvec+12, yyvstop+300,
yycrank+210, yysvec+12, yyvstop+302,
yycrank+0, yysvec+12, yyvstop+304,
yycrank+206, yysvec+12, yyvstop+307,
yycrank+0, yysvec+12, yyvstop+309,
yycrank+224, yysvec+12, yyvstop+312,
yycrank+0, yysvec+12, yyvstop+314,
yycrank+227, yysvec+12, yyvstop+317,
yycrank+211, yysvec+12, yyvstop+320,
yycrank+225, yysvec+12, yyvstop+322,
yycrank+213, yysvec+12, yyvstop+324,
yycrank+223, yysvec+12, yyvstop+326,
yycrank+219, yysvec+12, yyvstop+328,
yycrank+0, yysvec+12, yyvstop+330,
yycrank+225, yysvec+12, yyvstop+333,
yycrank+230, yysvec+12, yyvstop+335,
yycrank+218, yysvec+12, yyvstop+337,
yycrank+236, yysvec+12, yyvstop+339,
yycrank+233, yysvec+12, yyvstop+341,
yycrank+234, yysvec+12, yyvstop+343,
yycrank+220, yysvec+12, yyvstop+345,
yycrank+227, yysvec+12, yyvstop+347,
yycrank+0, yysvec+12, yyvstop+349,
yycrank+238, yysvec+12, yyvstop+352,
yycrank+240, yysvec+12, yyvstop+354,
yycrank+224, yysvec+12, yyvstop+356,
yycrank+0, yysvec+12, yyvstop+358,
yycrank+231, yysvec+12, yyvstop+361,
yycrank+228, yysvec+12, yyvstop+363,
yycrank+238, yysvec+12, yyvstop+365,
yycrank+228, yysvec+12, yyvstop+367,
yycrank+235, yysvec+12, yyvstop+369,
yycrank+245, yysvec+12, yyvstop+371,
yycrank+0, yysvec+12, yyvstop+373,
yycrank+250, yysvec+12, yyvstop+376,
yycrank+238, yysvec+12, yyvstop+378,
yycrank+0, yysvec+12, yyvstop+380,
yycrank+238, yysvec+12, yyvstop+383,
yycrank+236, yysvec+12, yyvstop+385,
yycrank+0, yysvec+12, yyvstop+387,
yycrank+236, yysvec+12, yyvstop+390,
yycrank+238, yysvec+12, yyvstop+392,
yycrank+243, yysvec+12, yyvstop+394,
yycrank+253, yysvec+12, yyvstop+396,
yycrank+250, yysvec+12, yyvstop+398,
yycrank+0, yysvec+12, yyvstop+400,
yycrank+0, yysvec+12, yyvstop+403,
yycrank+239, yysvec+12, yyvstop+406,
yycrank+256, yysvec+12, yyvstop+409,
yycrank+0, yysvec+12, yyvstop+411,
yycrank+250, yysvec+12, yyvstop+414,
yycrank+258, yysvec+12, yyvstop+416,
yycrank+244, yysvec+12, yyvstop+418,
yycrank+0, yysvec+12, yyvstop+420,
yycrank+245, yysvec+12, yyvstop+423,
yycrank+0, yysvec+12, yyvstop+425,
yycrank+252, yysvec+12, yyvstop+428,
yycrank+0, yysvec+12, yyvstop+430,
yycrank+0, yysvec+12, yyvstop+433,
yycrank+0, yysvec+12, yyvstop+436,
yycrank+264, yysvec+12, yyvstop+439,
yycrank+250, yysvec+12, yyvstop+441,
yycrank+255, yysvec+12, yyvstop+443,
yycrank+252, yysvec+12, yyvstop+445,
yycrank+267, yysvec+12, yyvstop+447,
yycrank+267, yysvec+12, yyvstop+449,
yycrank+255, yysvec+12, yyvstop+451,
yycrank+0, yysvec+12, yyvstop+453,
yycrank+265, yysvec+12, yyvstop+456,
yycrank+0, yysvec+12, yyvstop+458,
yycrank+270, yysvec+12, yyvstop+461,
yycrank+0, yysvec+12, yyvstop+463,
yycrank+269, yysvec+12, yyvstop+466,
yycrank+272, yysvec+12, yyvstop+468,
yycrank+0, yysvec+12, yyvstop+470,
yycrank+0, yysvec+12, yyvstop+473,
yycrank+0, yysvec+12, yyvstop+476,
yycrank+263, yysvec+12, yyvstop+479,
yycrank+0, yysvec+12, yyvstop+481,
yycrank+0, yysvec+12, yyvstop+484,
yycrank+0, yysvec+12, yyvstop+487,
yycrank+265, yysvec+12, yyvstop+490,
yycrank+0, yysvec+12, yyvstop+492,
0, 0, 0};
struct yywork *yytop = yycrank+375;
struct yysvf *yybgin = yysvec+1;
char yymatch[] = {
0, 1, 1, 1, 1, 1, 1, 1,
1, 9, 10, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
9, 1, 1, 35, 1, 1, 38, 1,
38, 38, 38, 1, 44, 1, 1, 1,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 1, 38, 1, 1, 1, 63,
1, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 38, 1, 38, 1, 65,
1, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
0};
char yyextra[] = {
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
/* Copyright (c) 1989 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#pragma ident "@(#)ncform 6.8 95/02/11 SMI"
int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
#if defined(__cplusplus) || defined(__STDC__)
int yylook(void)
#else
yylook()
#endif
{
register struct yysvf *yystate, **lsp;
register struct yywork *yyt;
struct yysvf *yyz;
int yych, yyfirst;
struct yywork *yyr;
# ifdef LEXDEBUG
int debug;
# endif
char *yylastch;
/* start off machines */
# ifdef LEXDEBUG
debug = 0;
# endif
yyfirst=1;
if (!yymorfg)
yylastch = yytext;
else {
yymorfg=0;
yylastch = yytext+yyleng;
}
for(;;){
lsp = yylstate;
yyestate = yystate = yybgin;
if (yyprevious==YYNEWLINE) yystate++;
for (;;){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
# endif
yyt = yystate->yystoff;
if(yyt == yycrank && !yyfirst){ /* may not be any transitions */
yyz = yystate->yyother;
if(yyz == 0)break;
if(yyz->yystoff == yycrank)break;
}
#ifndef __cplusplus
*yylastch++ = yych = input();
#else
*yylastch++ = yych = lex_input();
#endif
if(yylastch > &yytext[YYLMAX]) {
fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
exit(1);
}
yyfirst=0;
tryagain:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"char ");
allprint(yych);
putchar('\n');
}
# endif
yyr = yyt;
if ( (int)yyt > (int)yycrank){
yyt = yyr + yych;
if (yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
if(lsp > &yylstate[YYLMAX]) {
fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
exit(1);
}
goto contin;
}
}
# ifdef YYOPTIM
else if((int)yyt < (int)yycrank) { /* r < yycrank */
yyt = yyr = yycrank+(yycrank-yyt);
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"compressed state\n");
# endif
yyt = yyt + yych;
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
if(lsp > &yylstate[YYLMAX]) {
fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
exit(1);
}
goto contin;
}
yyt = yyr + YYU(yymatch[yych]);
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"try fall back character ");
allprint(YYU(yymatch[yych]));
putchar('\n');
}
# endif
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transition */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
if(lsp > &yylstate[YYLMAX]) {
fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
exit(1);
}
goto contin;
}
}
if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
# endif
goto tryagain;
}
# endif
else
{unput(*--yylastch);break;}
contin:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"state %d char ",yystate-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
;
}
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
while (lsp-- > yylstate){
*yylastch-- = 0;
if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
yyolsp = lsp;
if(yyextra[*yyfnd]){ /* must backup */
while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
lsp--;
unput(*yylastch--);
}
}
yyprevious = YYU(*yylastch);
yylsp = lsp;
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"\nmatch ");
sprint(yytext);
fprintf(yyout," action %d\n",*yyfnd);
}
# endif
return(*yyfnd++);
}
unput(*yylastch);
}
if (yytext[0] == 0 /* && feof(yyin) */)
{
yysptr=yysbuf;
return(0);
}
#ifndef __cplusplus
yyprevious = yytext[0] = input();
if (yyprevious>0)
output(yyprevious);
#else
yyprevious = yytext[0] = lex_input();
if (yyprevious>0)
lex_output(yyprevious);
#endif
yylastch=yytext;
# ifdef LEXDEBUG
if(debug)putchar('\n');
# endif
}
}
#if defined(__cplusplus) || defined(__STDC__)
int yyback(int *p, int m)
#else
yyback(p, m)
int *p;
#endif
{
if (p==0) return(0);
while (*p) {
if (*p++ == m)
return(1);
}
return(0);
}
/* the following are only used in the lex library */
#if defined(__cplusplus) || defined(__STDC__)
int yyinput(void)
#else
yyinput()
#endif
{
#ifndef __cplusplus
return(input());
#else
return(lex_input());
#endif
}
#if defined(__cplusplus) || defined(__STDC__)
void yyoutput(int c)
#else
yyoutput(c)
int c;
#endif
{
#ifndef __cplusplus
output(c);
#else
lex_output(c);
#endif
}
#if defined(__cplusplus) || defined(__STDC__)
void yyunput(int c)
#else
yyunput(c)
int c;
#endif
{
unput(c);
}