Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2115 lines
35 KiB

# 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 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin = {stdin}, *yyout = {stdout};
extern int yylineno;
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
#include <stdlib.h>
#include "types.h"
#include "symtab.h"
#include "mtcpars.h"
#include "thunk.h"
typedef struct _FR {
int LineNo;
FILE *pfhFile;
char *pszFileName;
struct _FR *pPreviousFile;
} FileRecord;
FileRecord *FileList = NULL;
static iCommentNesting = 0;
# define Normal 2
# define EatComment 4
# define LookFilename 6
# define HexNum 8
# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
return(syFar16);
break;
case 2:
return(syNear32);
break;
case 3:
return(syPtr);
break;
case 4:
return(syAPI16);
break;
case 5:
return(syAPI32);
break;
case 6:
return(syUnsigned);
break;
case 7:
return(sySigned);
break;
case 8:
return(syLong);
break;
case 9:
return(syShort);
break;
case 10:
return(syInt);
break;
case 11:
return(syTypeDef);
break;
case 12:
return(syMakeThunk);
break;
case 13:
return(sySizeOf);
break;
case 14:
return(syCountOf);
break;
case 15:
return(syInput);
break;
case 16:
return(syInOut);
break;
case 17:
return(syOutput);
break;
case 18:
return(syStruct);
break;
case 19:
return(syString);
break;
case 20:
return(syPassIfHiNull);
break;
case 21:
return(sySpecial);
break;
case 22:
return(syMapToRetval);
break;
case 23:
return(syReverseRC);
break;
case 24:
return(syLocalHeap);
break;
case 25:
return(syVoid);
break;
case 26:
return(syChar);
break;
case 27:
return(syNullType);
break;
case 28:
return(syNewElem);
break;
case 29:
return(syErrNoMem);
break;
case 30:
return(syErrBadParam);
break;
case 31:
return(syErrUnknown);
break;
case 32:
return(syTrue);
break;
case 33:
return(syFalse);
break;
case 34:
return(syStack);
break;
case 35:
return(syInline);
break;
case 36:
return(syTruncation);
break;
case 37:
return(syEnableMapDirect1632);
break;
case 38:
return(syUser);
break;
case 39:
return(syGdi);
break;
case 40:
return(syKernel);
break;
case 41:
return(sySysCall);
break;
case 42:
return(syConforming);
break;
case 43:
return(syByte);
break;
case 44:
return(syWord);
break;
case 45:
return(syDWord);
break;
case 46:
return(syAligned);
break;
case 47:
return(syDeleted);
break;
case 48:
return(syAllow);
break;
case 49:
return(syRestrict);
break;
case 50:
return(syMapDirect);
break;
case 51:
return(syEqual);
break;
case 52:
return(syLParen);
break;
case 53:
return(syRParen);
break;
case 54:
return(sySemi);
break;
case 55:
return(syPlus);
break;
case 56:
return(syMinus);
break;
case 57:
return(syDiv);
break;
case 58:
return(syComma);
break;
case 59:
return(syLBrace);
break;
case 60:
return(syRBrace);
break;
case 61:
return(syLBrack);
break;
case 62:
return(syRBrack);
break;
case 63:
{
BEGIN LookFilename;
}
break;
case 64:
{
yylval.ident = typ_DupString(yytext);
return(syIdent);
}
break;
case 65:
{
BEGIN HexNum;
}
break;
case 66:
{
sscanf(yytext,"%lx",&yylval.longval);
BEGIN Normal;
return(syNumber);
}
break;
case 67:
{
return(syError);
}
break;
case 68:
{
yylval.longval = atoi(yytext);
return(syNumber);
}
break;
case 69:
;
break;
case 70:
{
iCommentNesting++;
BEGIN EatComment;
}
break;
case 71:
{
iCommentNesting++;
}
break;
case 72:
{
if(--iCommentNesting == 0) BEGIN Normal;
}
break;
case 73:
;
break;
case 74:
;
break;
case 75:
{
PushInclude(yytext);
BEGIN Normal;
}
break;
case 76:
{
}
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
void PushInclude( char *yyFile)
{
FILE *filePtr;
FileRecord *pTemp;
yyFile[yyleng-1] = '\0'; /* Remove Ending quote */
yyFile++; /* Skip first quote */
if(pTemp = (FileRecord *) malloc(sizeof(FileRecord))) {
pTemp->LineNo = yylineno;
pTemp->pfhFile = yyin;
/*
if((pTemp->fhFile=dup(0)) < 0)
fatal("PushInclude: Out of file handles");
*/
pTemp->pszFileName = yyinname;
/*
if(close(0)) fatal("PushInclude close 0 failed");
*/
pTemp->pPreviousFile = FileList;
FileList = pTemp;
} else {
fatal("PushInclude malloc failure");
}
filePtr = fopen(yyFile, "r");
if (filePtr == NULL) {
fatal("fopen(%s): Could not open file ",yyFile);
}
yyin = filePtr;
yylineno = 0;
yyinname = typ_DupString(yyFile);
}
void LookNormal( void)
{
BEGIN Normal;
}
int yywrap( void)
{
FileRecord *pTemp;
if(!FileList)
return 1;
/* Close current file */
if( fclose( yyin))
fatal( "yywrap close yyin failed");
/*****
if(dup2(FileList->fhFile,0))
fatal( "yywrap dup failure");
if(close(FileList->fhFile))
fatal( "yywrap close %d failure", FileList->fhFile);
*****/
yyin = FileList->pfhFile;
yylineno = FileList->LineNo;
yyinname = FileList->pszFileName;
pTemp= FileList;
FileList = FileList->pPreviousFile;
free( pTemp);
return 0;
}
int yyvstop[] = {
0,
69,
0,
52,
0,
53,
0,
3,
0,
55,
0,
58,
0,
56,
0,
57,
0,
68,
0,
68,
0,
54,
0,
51,
0,
64,
0,
64,
0,
61,
0,
62,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
59,
0,
60,
0,
74,
0,
73,
74,
0,
73,
0,
74,
0,
74,
0,
67,
0,
66,
67,
0,
70,
0,
65,
0,
50,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
72,
0,
71,
0,
75,
0,
76,
0,
66,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
39,
64,
0,
64,
0,
64,
0,
64,
0,
10,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
43,
64,
0,
26,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
8,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
32,
64,
0,
64,
0,
64,
0,
64,
0,
38,
64,
0,
25,
64,
0,
44,
64,
0,
4,
64,
0,
5,
64,
0,
64,
0,
48,
64,
0,
64,
0,
64,
0,
64,
0,
45,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
33,
64,
0,
1,
64,
0,
64,
0,
16,
64,
0,
15,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
9,
64,
0,
64,
0,
64,
0,
64,
0,
34,
64,
0,
64,
0,
64,
0,
64,
0,
12,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
35,
64,
0,
40,
64,
0,
64,
0,
64,
0,
2,
64,
0,
64,
0,
64,
0,
17,
64,
0,
64,
0,
64,
0,
64,
0,
7,
64,
0,
13,
64,
0,
64,
0,
19,
64,
0,
18,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
46,
64,
0,
64,
0,
14,
64,
0,
47,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
28,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
21,
64,
0,
41,
64,
0,
64,
0,
11,
64,
0,
64,
0,
63,
0,
64,
0,
64,
0,
64,
0,
29,
64,
0,
64,
0,
64,
0,
64,
0,
27,
64,
0,
64,
0,
49,
64,
0,
64,
0,
64,
0,
6,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
24,
64,
0,
64,
0,
64,
0,
23,
64,
0,
64,
0,
42,
64,
0,
64,
0,
64,
0,
31,
64,
0,
64,
0,
64,
0,
36,
64,
0,
64,
0,
30,
64,
0,
22,
64,
0,
64,
0,
64,
0,
20,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
64,
0,
37,
64,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] = {
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 3,11, 3,11,
10,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, 3,11, 0,0, 7,55,
3,12, 0,0, 0,0, 0,0,
0,0, 3,13, 3,14, 3,15,
3,16, 3,17, 3,18, 19,60,
3,19, 3,20, 3,21, 3,21,
3,21, 3,21, 3,21, 3,21,
3,21, 3,21, 3,21, 6,53,
3,22, 7,56, 3,23, 0,0,
6,54, 23,62, 3,24, 3,25,
3,25, 3,25, 3,25, 3,25,
3,25, 3,25, 3,25, 3,25,
3,25, 3,25, 3,25, 3,25,
3,25, 3,25, 3,25, 3,25,
3,25, 3,25, 3,25, 3,25,
3,25, 3,25, 3,25, 3,25,
3,26, 25,25, 3,27, 53,95,
3,25, 54,96, 3,28, 3,29,
3,30, 3,31, 3,32, 3,33,
3,34, 3,25, 3,35, 3,25,
3,36, 3,37, 3,38, 3,39,
3,40, 3,41, 3,25, 3,42,
3,43, 3,44, 3,45, 3,46,
3,47, 3,25, 3,25, 3,25,
3,48, 5,50, 3,49, 9,57,
12,59, 28,25, 40,25, 32,25,
29,25, 5,51, 5,52, 9,57,
9,0, 20,21, 20,21, 20,21,
20,21, 20,21, 20,21, 20,21,
20,21, 20,21, 20,21, 21,21,
21,21, 21,21, 21,21, 21,21,
21,21, 21,21, 21,21, 21,21,
21,21, 28,64, 5,50, 30,25,
9,57, 32,70, 33,25, 35,25,
34,25, 32,71, 5,53, 40,80,
38,25, 59,100, 100,144, 5,54,
5,50, 29,65, 9,58, 31,25,
114,25, 41,25, 118,25, 33,72,
37,25, 46,25, 144,191, 30,66,
34,73, 38,77, 5,50, 36,25,
9,57, 5,50, 30,67, 9,58,
42,25, 35,74, 41,81, 5,50,
31,68, 9,57, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
36,75, 20,61, 47,25, 37,76,
46,93, 42,82, 31,69, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,63, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 47,94, 149,25, 150,25,
65,25, 24,25, 45,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 24,25, 24,25, 24,25,
24,25, 39,25, 44,25, 43,25,
45,91, 64,25, 63,101, 55,55,
65,104, 45,92, 88,25, 67,25,
56,56, 63,25, 66,25, 55,55,
55,0, 70,25, 68,25, 69,25,
56,56, 56,0, 39,78, 71,25,
72,25, 79,25, 44,88, 43,83,
43,84, 75,25, 64,102, 66,105,
77,25, 64,103, 70,110, 43,85,
44,89, 73,25, 39,79, 43,86,
55,97, 67,106, 76,25, 44,90,
43,87, 56,56, 68,108, 88,137,
67,107, 83,25, 69,109, 84,25,
72,112, 79,125, 55,55, 166,25,
184,25, 71,111, 72,113, 56,56,
81,25, 76,120, 73,114, 75,119,
77,122, 90,25, 188,25, 189,25,
55,55, 190,25, 191,231, 55,55,
76,121, 56,98, 84,131, 80,25,
56,56, 55,55, 74,25, 78,25,
83,130, 82,25, 56,56, 58,99,
58,99, 58,99, 58,99, 58,99,
58,99, 58,99, 58,99, 58,99,
58,99, 84,132, 85,25, 81,127,
78,123, 90,139, 93,25, 92,25,
58,99, 58,99, 58,99, 58,99,
58,99, 58,99, 74,115, 86,25,
87,25, 74,116, 74,117, 80,126,
89,25, 91,25, 74,118, 85,133,
82,128, 94,25, 78,124, 82,129,
92,141, 102,25, 103,25, 93,142,
86,134, 101,145, 104,25, 101,146,
105,25, 107,25, 106,25, 109,25,
58,99, 58,99, 58,99, 58,99,
58,99, 58,99, 112,25, 108,25,
110,25, 86,135, 115,25, 87,136,
102,147, 111,25, 113,160, 104,149,
91,140, 89,138, 116,25, 94,143,
106,151, 103,148, 117,25, 119,25,
101,25, 120,25, 110,155, 107,152,
108,153, 121,25, 105,150, 111,156,
122,25, 109,154, 125,25, 115,161,
123,25, 124,25, 127,25, 126,25,
128,25, 112,159, 120,165, 111,157,
129,25, 113,25, 130,25, 131,25,
132,25, 135,25, 111,158, 137,25,
121,166, 119,164, 141,25, 116,162,
133,25, 138,25, 124,169, 117,163,
134,25, 148,25, 125,170, 136,25,
139,25, 129,174, 140,25, 145,192,
122,167, 132,177, 123,168, 126,171,
142,25, 127,172, 135,180, 133,178,
128,173, 131,176, 138,184, 134,179,
130,175, 137,183, 136,182, 143,25,
146,193, 139,186, 135,181, 138,185,
141,188, 147,25, 151,25, 140,187,
142,189, 145,25, 152,25, 153,25,
154,25, 155,25, 156,25, 158,25,
148,195, 157,25, 159,25, 143,190,
161,25, 162,25, 163,25, 160,205,
165,25, 167,25, 168,212, 170,25,
171,25, 177,25, 146,25, 156,201,
154,199, 164,25, 169,25, 147,194,
172,25, 151,196, 173,25, 159,204,
174,25, 155,200, 175,25, 176,25,
178,25, 158,203, 152,197, 153,198,
157,202, 160,25, 161,206, 180,25,
165,210, 179,25, 164,209, 168,25,
167,211, 162,207, 163,208, 182,25,
177,221, 172,216, 169,213, 170,214,
176,220, 171,215, 181,25, 183,25,
185,25, 178,222, 186,25, 192,25,
173,217, 187,25, 174,218, 193,25,
182,226, 194,25, 175,219, 195,25,
179,223, 180,224, 196,25, 197,25,
198,25, 181,225, 199,25, 185,228,
200,25, 202,25, 186,229, 201,25,
203,25, 204,25, 183,227, 205,25,
187,230, 207,25, 194,232, 206,25,
208,25, 209,25, 210,25, 211,25,
212,244, 198,235, 213,25, 214,25,
215,25, 200,236, 216,25, 201,237,
218,25, 217,25, 197,234, 219,25,
196,233, 221,25, 202,238, 203,239,
206,240, 220,25, 223,25, 222,25,
225,25, 226,25, 210,242, 213,245,
224,25, 209,241, 227,25, 229,25,
216,248, 228,25, 212,25, 230,25,
231,260, 211,243, 217,249, 221,252,
222,253, 220,251, 232,25, 233,25,
215,247, 234,25, 235,25, 218,250,
214,246, 236,25, 228,257, 224,254,
229,258, 226,256, 237,25, 238,25,
240,25, 239,25, 241,25, 242,25,
225,255, 243,25, 232,261, 244,25,
245,25, 230,259, 235,264, 234,263,
246,25, 247,25, 248,25, 249,25,
233,262, 251,25, 250,25, 252,25,
238,267, 253,25, 236,265, 254,25,
242,269, 255,25, 243,270, 256,25,
257,25, 258,25, 237,266, 239,268,
259,25, 260,281, 249,274, 261,25,
262,25, 245,271, 248,273, 250,275,
263,25, 264,25, 265,25, 266,25,
246,272, 267,25, 268,25, 270,25,
269,25, 253,276, 271,25, 258,279,
272,25, 259,280, 273,25, 256,277,
274,25, 275,25, 276,25, 265,283,
266,284, 262,282, 277,25, 278,25,
257,278, 269,287, 279,25, 280,25,
282,25, 283,25, 284,25, 285,25,
286,25, 272,289, 267,285, 287,25,
288,25, 268,286, 289,25, 273,290,
290,25, 291,25, 293,25, 270,288,
292,25, 294,25, 295,25, 280,294,
278,293, 297,25, 298,25, 275,292,
274,291, 299,25, 301,25, 296,25,
302,25, 303,25, 282,295, 300,25,
304,25, 283,296, 307,25, 292,302,
284,297, 305,25, 297,306, 287,299,
306,25, 295,304, 290,301, 286,298,
308,25, 293,303, 288,300, 296,305,
300,308, 309,25, 310,25, 311,25,
298,307, 312,25, 313,25, 314,25,
316,25, 315,25, 318,25, 303,310,
317,25, 319,320, 305,311, 301,309,
320,321, 323,25, 321,322, 322,323,
0,0, 306,312, 0,0, 0,0,
308,313, 0,0, 0,0, 0,0,
0,0, 309,314, 315,317, 317,318,
0,0, 0,0, 0,0, 314,316,
0,0, 311,315, 0,0, 0,0,
0,0, 0,0, 320,25, 0,0,
319,25, 0,0, 318,319, 321,25,
0,0, 322,25, 0,0, 0,0,
0,0};
struct yysvf yysvec[] = {
0, 0, 0,
yycrank+0, 0, 0,
yycrank+0, 0, 0,
yycrank+1, 0, 0,
yycrank+0, yysvec+3, 0,
yycrank+-124, 0, 0,
yycrank+-17, yysvec+5, 0,
yycrank+1, 0, 0,
yycrank+0, yysvec+7, 0,
yycrank+-126, 0, 0,
yycrank+-2, yysvec+9, 0,
yycrank+0, 0, yyvstop+1,
yycrank+23, 0, 0,
yycrank+0, 0, yyvstop+3,
yycrank+0, 0, yyvstop+5,
yycrank+0, 0, yyvstop+7,
yycrank+0, 0, yyvstop+9,
yycrank+0, 0, yyvstop+11,
yycrank+0, 0, yyvstop+13,
yycrank+5, 0, yyvstop+15,
yycrank+89, 0, yyvstop+17,
yycrank+99, 0, yyvstop+19,
yycrank+0, 0, yyvstop+21,
yycrank+3, 0, yyvstop+23,
yycrank+150, 0, yyvstop+25,
yycrank+13, yysvec+24, yyvstop+27,
yycrank+0, 0, yyvstop+29,
yycrank+0, 0, yyvstop+31,
yycrank+49, yysvec+24, yyvstop+33,
yycrank+52, yysvec+24, yyvstop+35,
yycrank+79, yysvec+24, yyvstop+37,
yycrank+95, yysvec+24, yyvstop+39,
yycrank+51, yysvec+24, yyvstop+41,
yycrank+82, yysvec+24, yyvstop+43,
yycrank+84, yysvec+24, yyvstop+45,
yycrank+83, yysvec+24, yyvstop+47,
yycrank+107, yysvec+24, yyvstop+49,
yycrank+100, yysvec+24, yyvstop+51,
yycrank+88, yysvec+24, yyvstop+53,
yycrank+193, yysvec+24, yyvstop+55,
yycrank+50, yysvec+24, yyvstop+57,
yycrank+97, yysvec+24, yyvstop+59,
yycrank+112, yysvec+24, yyvstop+61,
yycrank+195, yysvec+24, yyvstop+63,
yycrank+194, yysvec+24, yyvstop+65,
yycrank+166, yysvec+24, yyvstop+67,
yycrank+101, yysvec+24, yyvstop+69,
yycrank+130, yysvec+24, yyvstop+71,
yycrank+0, 0, yyvstop+73,
yycrank+0, 0, yyvstop+75,
yycrank+0, 0, yyvstop+77,
yycrank+0, 0, yyvstop+79,
yycrank+0, 0, yyvstop+82,
yycrank+48, 0, yyvstop+84,
yycrank+55, 0, yyvstop+86,
yycrank+-278, 0, 0,
yycrank+-283, 0, 0,
yycrank+0, 0, yyvstop+88,
yycrank+307, 0, yyvstop+90,
yycrank+59, 0, 0,
yycrank+0, 0, yyvstop+93,
yycrank+0, 0, yyvstop+95,
yycrank+0, 0, yyvstop+97,
yycrank+205, yysvec+24, yyvstop+99,
yycrank+197, yysvec+24, yyvstop+101,
yycrank+164, yysvec+24, yyvstop+103,
yycrank+206, yysvec+24, yyvstop+105,
yycrank+203, yysvec+24, yyvstop+107,
yycrank+210, yysvec+24, yyvstop+109,
yycrank+211, yysvec+24, yyvstop+111,
yycrank+209, yysvec+24, yyvstop+113,
yycrank+215, yysvec+24, yyvstop+115,
yycrank+216, yysvec+24, yyvstop+117,
yycrank+229, yysvec+24, yyvstop+119,
yycrank+270, yysvec+24, yyvstop+121,
yycrank+221, yysvec+24, yyvstop+123,
yycrank+234, yysvec+24, yyvstop+125,
yycrank+224, yysvec+24, yyvstop+127,
yycrank+271, yysvec+24, yyvstop+129,
yycrank+217, yysvec+24, yyvstop+131,
yycrank+267, yysvec+24, yyvstop+133,
yycrank+252, yysvec+24, yyvstop+135,
yycrank+273, yysvec+24, yyvstop+137,
yycrank+241, yysvec+24, yyvstop+139,
yycrank+243, yysvec+24, yyvstop+141,
yycrank+286, yysvec+24, yyvstop+143,
yycrank+299, yysvec+24, yyvstop+145,
yycrank+300, yysvec+24, yyvstop+147,
yycrank+202, yysvec+24, yyvstop+149,
yycrank+304, yysvec+24, yyvstop+151,
yycrank+257, yysvec+24, yyvstop+153,
yycrank+305, yysvec+24, yyvstop+155,
yycrank+291, yysvec+24, yyvstop+157,
yycrank+290, yysvec+24, yyvstop+159,
yycrank+309, yysvec+24, yyvstop+161,
yycrank+0, 0, yyvstop+163,
yycrank+0, 0, yyvstop+165,
yycrank+0, 0, yyvstop+167,
yycrank+0, 0, yyvstop+169,
yycrank+0, yysvec+58, yyvstop+171,
yycrank+71, 0, 0,
yycrank+348, yysvec+24, yyvstop+173,
yycrank+313, yysvec+24, yyvstop+175,
yycrank+314, yysvec+24, yyvstop+177,
yycrank+318, yysvec+24, yyvstop+179,
yycrank+320, yysvec+24, yyvstop+181,
yycrank+322, yysvec+24, yyvstop+183,
yycrank+321, yysvec+24, yyvstop+185,
yycrank+331, yysvec+24, yyvstop+187,
yycrank+323, yysvec+24, yyvstop+189,
yycrank+332, yysvec+24, yyvstop+191,
yycrank+337, yysvec+24, yyvstop+193,
yycrank+330, yysvec+24, yyvstop+195,
yycrank+369, yysvec+24, yyvstop+197,
yycrank+96, yysvec+24, yyvstop+199,
yycrank+334, yysvec+24, yyvstop+202,
yycrank+342, yysvec+24, yyvstop+204,
yycrank+346, yysvec+24, yyvstop+206,
yycrank+98, yysvec+24, yyvstop+208,
yycrank+347, yysvec+24, yyvstop+211,
yycrank+349, yysvec+24, yyvstop+213,
yycrank+353, yysvec+24, yyvstop+215,
yycrank+356, yysvec+24, yyvstop+217,
yycrank+360, yysvec+24, yyvstop+219,
yycrank+361, yysvec+24, yyvstop+221,
yycrank+358, yysvec+24, yyvstop+223,
yycrank+363, yysvec+24, yyvstop+225,
yycrank+362, yysvec+24, yyvstop+227,
yycrank+364, yysvec+24, yyvstop+229,
yycrank+368, yysvec+24, yyvstop+231,
yycrank+370, yysvec+24, yyvstop+233,
yycrank+371, yysvec+24, yyvstop+235,
yycrank+372, yysvec+24, yyvstop+237,
yycrank+380, yysvec+24, yyvstop+239,
yycrank+384, yysvec+24, yyvstop+241,
yycrank+373, yysvec+24, yyvstop+243,
yycrank+387, yysvec+24, yyvstop+245,
yycrank+375, yysvec+24, yyvstop+247,
yycrank+381, yysvec+24, yyvstop+249,
yycrank+388, yysvec+24, yyvstop+251,
yycrank+390, yysvec+24, yyvstop+253,
yycrank+378, yysvec+24, yyvstop+255,
yycrank+396, yysvec+24, yyvstop+257,
yycrank+407, yysvec+24, yyvstop+259,
yycrank+74, 0, 0,
yycrank+417, yysvec+24, yyvstop+261,
yycrank+438, yysvec+24, yyvstop+263,
yycrank+413, yysvec+24, yyvstop+265,
yycrank+385, yysvec+24, yyvstop+267,
yycrank+162, yysvec+24, yyvstop+269,
yycrank+163, yysvec+24, yyvstop+272,
yycrank+414, yysvec+24, yyvstop+275,
yycrank+418, yysvec+24, yyvstop+277,
yycrank+419, yysvec+24, yyvstop+279,
yycrank+420, yysvec+24, yyvstop+281,
yycrank+421, yysvec+24, yyvstop+283,
yycrank+422, yysvec+24, yyvstop+285,
yycrank+425, yysvec+24, yyvstop+287,
yycrank+423, yysvec+24, yyvstop+289,
yycrank+426, yysvec+24, yyvstop+291,
yycrank+457, yysvec+24, yyvstop+293,
yycrank+428, yysvec+24, yyvstop+295,
yycrank+429, yysvec+24, yyvstop+297,
yycrank+430, yysvec+24, yyvstop+299,
yycrank+441, yysvec+24, yyvstop+301,
yycrank+432, yysvec+24, yyvstop+303,
yycrank+247, yysvec+24, yyvstop+305,
yycrank+433, yysvec+24, yyvstop+308,
yycrank+463, yysvec+24, yyvstop+310,
yycrank+442, yysvec+24, yyvstop+312,
yycrank+435, yysvec+24, yyvstop+314,
yycrank+436, yysvec+24, yyvstop+316,
yycrank+444, yysvec+24, yyvstop+318,
yycrank+446, yysvec+24, yyvstop+320,
yycrank+448, yysvec+24, yyvstop+322,
yycrank+450, yysvec+24, yyvstop+324,
yycrank+451, yysvec+24, yyvstop+326,
yycrank+437, yysvec+24, yyvstop+328,
yycrank+452, yysvec+24, yyvstop+330,
yycrank+461, yysvec+24, yyvstop+332,
yycrank+459, yysvec+24, yyvstop+334,
yycrank+474, yysvec+24, yyvstop+336,
yycrank+467, yysvec+24, yyvstop+338,
yycrank+475, yysvec+24, yyvstop+340,
yycrank+248, yysvec+24, yyvstop+342,
yycrank+476, yysvec+24, yyvstop+345,
yycrank+478, yysvec+24, yyvstop+347,
yycrank+481, yysvec+24, yyvstop+349,
yycrank+258, yysvec+24, yyvstop+351,
yycrank+259, yysvec+24, yyvstop+354,
yycrank+261, yysvec+24, yyvstop+357,
yycrank+225, 0, 0,
yycrank+479, yysvec+24, yyvstop+360,
yycrank+483, yysvec+24, yyvstop+363,
yycrank+485, yysvec+24, yyvstop+366,
yycrank+487, yysvec+24, yyvstop+368,
yycrank+490, yysvec+24, yyvstop+371,
yycrank+491, yysvec+24, yyvstop+373,
yycrank+492, yysvec+24, yyvstop+375,
yycrank+494, yysvec+24, yyvstop+377,
yycrank+496, yysvec+24, yyvstop+380,
yycrank+499, yysvec+24, yyvstop+382,
yycrank+497, yysvec+24, yyvstop+384,
yycrank+500, yysvec+24, yyvstop+386,
yycrank+501, yysvec+24, yyvstop+388,
yycrank+503, yysvec+24, yyvstop+391,
yycrank+507, yysvec+24, yyvstop+394,
yycrank+505, yysvec+24, yyvstop+396,
yycrank+508, yysvec+24, yyvstop+399,
yycrank+509, yysvec+24, yyvstop+402,
yycrank+510, yysvec+24, yyvstop+404,
yycrank+511, yysvec+24, yyvstop+406,
yycrank+542, yysvec+24, yyvstop+408,
yycrank+514, yysvec+24, yyvstop+410,
yycrank+515, yysvec+24, yyvstop+412,
yycrank+516, yysvec+24, yyvstop+414,
yycrank+518, yysvec+24, yyvstop+416,
yycrank+521, yysvec+24, yyvstop+418,
yycrank+520, yysvec+24, yyvstop+420,
yycrank+523, yysvec+24, yyvstop+422,
yycrank+529, yysvec+24, yyvstop+425,
yycrank+525, yysvec+24, yyvstop+427,
yycrank+531, yysvec+24, yyvstop+429,
yycrank+530, yysvec+24, yyvstop+431,
yycrank+536, yysvec+24, yyvstop+434,
yycrank+532, yysvec+24, yyvstop+436,
yycrank+533, yysvec+24, yyvstop+438,
yycrank+538, yysvec+24, yyvstop+440,
yycrank+541, yysvec+24, yyvstop+443,
yycrank+539, yysvec+24, yyvstop+445,
yycrank+543, yysvec+24, yyvstop+447,
yycrank+524, 0, 0,
yycrank+550, yysvec+24, yyvstop+449,
yycrank+551, yysvec+24, yyvstop+451,
yycrank+553, yysvec+24, yyvstop+453,
yycrank+554, yysvec+24, yyvstop+455,
yycrank+557, yysvec+24, yyvstop+457,
yycrank+562, yysvec+24, yyvstop+459,
yycrank+563, yysvec+24, yyvstop+461,
yycrank+565, yysvec+24, yyvstop+463,
yycrank+564, yysvec+24, yyvstop+465,
yycrank+566, yysvec+24, yyvstop+468,
yycrank+567, yysvec+24, yyvstop+471,
yycrank+569, yysvec+24, yyvstop+473,
yycrank+571, yysvec+24, yyvstop+475,
yycrank+572, yysvec+24, yyvstop+478,
yycrank+576, yysvec+24, yyvstop+480,
yycrank+577, yysvec+24, yyvstop+482,
yycrank+578, yysvec+24, yyvstop+485,
yycrank+579, yysvec+24, yyvstop+487,
yycrank+582, yysvec+24, yyvstop+489,
yycrank+581, yysvec+24, yyvstop+491,
yycrank+583, yysvec+24, yyvstop+494,
yycrank+585, yysvec+24, yyvstop+497,
yycrank+587, yysvec+24, yyvstop+499,
yycrank+589, yysvec+24, yyvstop+502,
yycrank+591, yysvec+24, yyvstop+505,
yycrank+592, yysvec+24, yyvstop+507,
yycrank+593, yysvec+24, yyvstop+509,
yycrank+596, yysvec+24, yyvstop+511,
yycrank+576, 0, 0,
yycrank+599, yysvec+24, yyvstop+513,
yycrank+600, yysvec+24, yyvstop+516,
yycrank+604, yysvec+24, yyvstop+518,
yycrank+605, yysvec+24, yyvstop+521,
yycrank+606, yysvec+24, yyvstop+524,
yycrank+607, yysvec+24, yyvstop+526,
yycrank+609, yysvec+24, yyvstop+528,
yycrank+610, yysvec+24, yyvstop+530,
yycrank+612, yysvec+24, yyvstop+532,
yycrank+611, yysvec+24, yyvstop+534,
yycrank+614, yysvec+24, yyvstop+536,
yycrank+616, yysvec+24, yyvstop+539,
yycrank+618, yysvec+24, yyvstop+541,
yycrank+620, yysvec+24, yyvstop+543,
yycrank+621, yysvec+24, yyvstop+545,
yycrank+622, yysvec+24, yyvstop+547,
yycrank+626, yysvec+24, yyvstop+550,
yycrank+627, yysvec+24, yyvstop+553,
yycrank+630, yysvec+24, yyvstop+555,
yycrank+631, yysvec+24, yyvstop+558,
yycrank+0, 0, yyvstop+560,
yycrank+632, yysvec+24, yyvstop+562,
yycrank+633, yysvec+24, yyvstop+564,
yycrank+634, yysvec+24, yyvstop+566,
yycrank+635, yysvec+24, yyvstop+568,
yycrank+636, yysvec+24, yyvstop+571,
yycrank+639, yysvec+24, yyvstop+573,
yycrank+640, yysvec+24, yyvstop+575,
yycrank+642, yysvec+24, yyvstop+577,
yycrank+644, yysvec+24, yyvstop+580,
yycrank+645, yysvec+24, yyvstop+582,
yycrank+648, yysvec+24, yyvstop+585,
yycrank+646, yysvec+24, yyvstop+587,
yycrank+649, yysvec+24, yyvstop+589,
yycrank+650, yysvec+24, yyvstop+592,
yycrank+659, yysvec+24, yyvstop+594,
yycrank+653, yysvec+24, yyvstop+596,
yycrank+654, yysvec+24, yyvstop+598,
yycrank+657, yysvec+24, yyvstop+600,
yycrank+663, yysvec+24, yyvstop+603,
yycrank+658, yysvec+24, yyvstop+605,
yycrank+660, yysvec+24, yyvstop+607,
yycrank+661, yysvec+24, yyvstop+610,
yycrank+664, yysvec+24, yyvstop+612,
yycrank+669, yysvec+24, yyvstop+615,
yycrank+672, yysvec+24, yyvstop+617,
yycrank+666, yysvec+24, yyvstop+619,
yycrank+676, yysvec+24, yyvstop+622,
yycrank+681, yysvec+24, yyvstop+624,
yycrank+682, yysvec+24, yyvstop+626,
yycrank+683, yysvec+24, yyvstop+629,
yycrank+685, yysvec+24, yyvstop+631,
yycrank+686, yysvec+24, yyvstop+634,
yycrank+687, yysvec+24, yyvstop+637,
yycrank+689, yysvec+24, yyvstop+639,
yycrank+688, yysvec+24, yyvstop+641,
yycrank+692, yysvec+24, yyvstop+644,
yycrank+690, yysvec+24, yyvstop+646,
yycrank+724, yysvec+24, yyvstop+648,
yycrank+722, yysvec+24, yyvstop+650,
yycrank+727, yysvec+24, yyvstop+652,
yycrank+729, yysvec+24, yyvstop+654,
yycrank+697, yysvec+24, yyvstop+656,
0, 0, 0};
struct yywork *yytop = yycrank+809;
struct yysvf *yybgin = yysvec+1;
char yymatch[] = {
00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
011 ,01 ,'"' ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,
'0' ,'0' ,01 ,01 ,01 ,01 ,'>' ,01 ,
01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'G' ,
'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,
'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,
'G' ,'G' ,'G' ,01 ,01 ,01 ,01 ,'G' ,
01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'G' ,
'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,
'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,'G' ,
'G' ,'G' ,'G' ,01 ,01 ,01 ,01 ,01 ,
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,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
char yytext[YYLMAX];
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
yylook(){
register struct yysvf *yystate, **lsp;
register struct yywork *yyt;
struct yysvf *yyz;
int yych;
struct yywork *yyr;
# ifdef LEXDEBUG
int debug;
# endif
char *yylastch;
/* start off machines */
# ifdef LEXDEBUG
debug = 0;
# endif
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){ /* may not be any transitions */
yyz = yystate->yyother;
if(yyz == 0)break;
if(yyz->yystoff == yycrank)break;
}
*yylastch++ = yych = input();
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;
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;
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;
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);
}
yyprevious = yytext[0] = input();
if (yyprevious>0)
output(yyprevious);
yylastch=yytext;
# ifdef LEXDEBUG
if(debug)putchar('\n');
# endif
}
}
yyback( int *p, int m)
{
if (p==0) return(0);
while (*p)
{
if (*p++ == m)
return(1);
}
return(0);
}
/* the following are only used in the lex library */
yyinput(){
return input();
}
void yyoutput(c)
int c; {
output(c);
}
void yyunput(c)
int c; {
unput(c);
}