# include "stdio.h"
# define U(x) ((x)&0377)
# define NLSTATE Int_yyprevious=YYNEWLINE
# define BEGIN Int_yybgin = Int_yysvec + 1 +
# define INITIAL 0
# define YYLERR Int_yysvec
# define YYSTATE (Int_yyestate-Int_yysvec-1)
# define YYOPTIM 1
# define YYLMAX 200
# define output(c) putc(c,Int_yyout)
# define input() (((Int_yytchar=Int_yysptr>Int_yysbuf?U(*--Int_yysptr):getc(Int_yyin))==10?(Int_yylineno++,Int_yytchar):Int_yytchar)==EOF?0:Int_yytchar)
# define unput(c) {Int_yytchar= (c);if(Int_yytchar=='\n')Int_yylineno--;*Int_yysptr++=Int_yytchar;}
# define yymore() (Int_yymorfg=1)
# define ECHO fprintf(Int_yyout, "%s",Int_yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int Int_yyleng; extern char Int_yytext[];
int Int_yymorfg;
extern char *Int_yysptr, Int_yysbuf[];
int Int_yytchar;
FILE *Int_yyin ={stdin}, *Int_yyout ={stdout};
extern int Int_yylineno;
struct yysvf { 
	struct yywork *yystoff;
	struct yysvf *yyother;
	int *yystops;};
struct yysvf *Int_yyestate;
extern struct yysvf Int_yysvec[], *Int_yybgin;
static	char	ami_lexer_l[] = "$Header: /data/01/postgres/src/backend/bootstrap/RCS/bootscanner.lex,v 1.9 1993/06/16 05:05:24 aoki Exp $";
/**********************************************************************

  ami_lexer. 

  a lexical scanner for postgres' amiint
  recent extensions include $def for macro definitions
  and ${id} for macro evaluation

 **********************************************************************/

#include "bootstrap/bkint.h"
#include "tmp/portal.h" 

#undef BOOTSTRAP
#include "bootstrap.h"

/*
 * This is actually conditional on use of "flex" instead of "lex"
 */
#ifdef __linux__
#undef Int_yywrap
#endif /* __linux__ */

int	Int_yylval;
int	Int_yycolumn;
int	Int_yyline;
#define NEWLINE() { Int_yycolumn=0; Int_yyline++; }

#ifdef PORTNAME_alpha
#define	YYTEXTCHAR	unsigned char
#else /* PORTNAME_alpha */
#define	YYTEXTCHAR	char
#endif /* PORTNAME_alpha */
# define YYNEWLINE 10
Int_yylex(){
int nstr; extern int Int_yyprevious;
while((nstr = Int_yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(Int_yywrap()) return(0); break;
case 1:
case 2:
      	{ return(OPEN); }
break;
case 3:
case 4:
	{ return(XCLOSE); }
break;
case 5:
case 6:
	{ return(XCREATE); }
break;
case 7:
case 8:
	{ return(P_RELN); }
break;
case 9:
	{ return(XIN); }
break;
case 10:
	{ return(AS); }
break;
case 11:
	{ return(XTO); }
break;
case 12:
            { return(OBJ_ID); }
break;
case 13:
{ return(BOOTSTRAP); }
break;
case 14:
	{ return(NULLVAL); }
break;
case 15:
case 16:
	{ return(INSERT_TUPLE); }
break;
case 17:
case 18:
	{ return(QUIT); }
break;
case 19:
         { printstrtable(); EMITPROMPT; }
break;
case 20:
    	{ printhashtable(); EMITPROMPT; }
break;
case 21:
case 22:
	{ return(XDESTROY); }
break;
case 23:
case 24:
	{ return(XRENAME);}
break;
case 25:
{ return(ATTR); }
break;
case 26:
	{ return(RELATION); }
break;
case 27:
    	{ return(COMMA); }
break;
case 28:
	{ return(COLON); }
break;
case 29:
	{ return(EQUALS); }
break;
case 30:
	{ return(LPAREN); }
break;
case 31:
	{ return(RPAREN); }
break;
case 32:
	{ return(ADD); }
break;
case 33:
     	{ NEWLINE(); }
break;
case 34:
	;
break;
case 35:
	;
break;
case 36:
;
break;
case 37:
{ return(XDECLARE); }
break;
case 38:
	{ return(XBUILD); }
break;
case 39:
{ return(INDICES); }
break;
case 40:
	{ return(MACRO); }
break;
case 41:
	{ return(INDEX); }
break;
case 42:
	{ return(ON); }
break;
case 43:
	{ return(USING); }
break;
case 44:
{ return(DISPLAY); }
break;
case 45:
	{ return(SHOW); }
break;
case 46:
	{ 
		    YYTEXTCHAR *in, *out;
		    for (in = out = Int_yytext; *out = *in; ++out)
			if (*in++ == '\\')
			    *out = (unsigned char) MapEscape(&in);
#if 0
		    *(out+1) = '\000';
#endif
		    Int_yylval = LookUpMacro(&Int_yytext[1]);
		    return(ID);
		}
break;
case 47:
{
		    YYTEXTCHAR last, this, *p;

		    /*
		     * XXX arrays of "basetype" are always "_basetype".
		     *     this is an evil hack inherited from rel. 3.1.
		     * XXX array dimension is thrown away because we
		     *     don't support fixed-dimension arrays.  again,
		     *     sickness from 3.1.
		     */
		    for (p = Int_yytext, last = '_'; *p && *p != '['; ++p) {
			this = *p;
			*p = last;
			last = this;
		    }
		    if (*p) {
			*p++ = last;
		    }
		    *p = '\0';
		    Int_yylval = EnterString(Int_yytext);
		    return(ID);
		}
break;
case 48:
 	{ 
		    YYTEXTCHAR *in, *out;
		    for (in = out = Int_yytext; *out = *in; ++out)
			if (*in++ == '\\')
			    *out = (unsigned char) MapEscape(&in);
#if 0
		    *(out+1) = '\000';
#endif
		    Int_yylval = EnterString(Int_yytext);
		    return(ID);
		}
break;
case 49:
	{
		    YYTEXTCHAR *in;
		    for (in = &Int_yytext[1]; *in != '\"'; ++in)
			;
		    *in = 0;
		    Int_yylval = EnterString(&Int_yytext[1]);
		    return(ID);
		}
break;
case 50:
case 51:
case 52:
	{
			    Int_yylval = EnterString(Int_yytext);
			    return(FLOAT);
			}
break;
case 53:
{
		    Int_yylval = EnterString(Int_yytext);
		    return(INT);
		}
break;
case 54:
	{
		    printf("syntax error %d : -> %s\n", Int_yyline, Int_yytext);
		}
break;
case -1:
break;
default:
fprintf(Int_yyout,"bad switch Int_yylook %d",nstr);
} return(0); }
/* end of Int_yylex */

Int_yywrap()
{
    StartTransactionCommand();
    cleanup();
    CommitTransactionCommand();
    return;
}

Int_yyerror(str)
    char *str;
{
    fprintf(stderr,"\tsyntax error %d : %s",Int_yyline, str);
}
int Int_yyvstop[] ={
0,

54,
0,

34,
54,
0,

33,
0,

35,
54,
0,

54,
0,

54,
0,

54,
0,

30,
54,
0,

31,
54,
0,

27,
54,
0,

48,
54,
0,

54,
0,

48,
53,
54,
0,

28,
54,
0,

29,
54,
0,

48,
54,
0,

5,
48,
54,
0,

48,
54,
0,

54,
0,

48,
54,
0,

48,
54,
0,

48,
54,
0,

3,
48,
54,
0,

48,
54,
0,

15,
48,
54,
0,

48,
54,
0,

1,
48,
54,
0,

7,
48,
54,
0,

17,
48,
54,
0,

48,
54,
0,

48,
54,
0,

48,
54,
0,

48,
54,
0,

36,
54,
0,

49,
0,

46,
0,

48,
0,

48,
53,
0,

51,
0,

21,
0,

23,
0,

50,
0,

48,
53,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

10,
48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

9,
48,
0,

48,
0,

42,
48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

11,
48,
0,

48,
0,

36,
0,

48,
0,

50,
51,
0,

48,
0,

48,
52,
0,

47,
0,

12,
48,
0,

48,
0,

32,
48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
52,
0,

51,
0,

50,
0,

52,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

2,
48,
0,

48,
0,

18,
48,
0,

48,
0,

48,
0,

45,
48,
0,

48,
0,

19,
0,

50,
51,
0,

48,
0,

48,
0,

48,
0,

38,
48,
0,

4,
48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

41,
48,
0,

48,
0,

48,
0,

40,
48,
0,

8,
48,
0,

48,
0,

48,
0,

43,
48,
0,

20,
0,

14,
48,
0,

48,
0,

48,
0,

6,
48,
0,

48,
0,

48,
0,

48,
0,

48,
0,

16,
48,
0,

48,
0,

24,
48,
0,

48,
0,

48,
0,

37,
48,
0,

22,
48,
0,

44,
48,
0,

39,
48,
0,

48,
0,

48,
0,

48,
0,

26,
48,
0,

25,
48,
0,

13,
48,
0,
0};
# define YYTYPE unsigned char
struct yywork { YYTYPE verify, advance; } Int_yycrank[] ={
0,0,	0,0,	1,3,	0,0,	
0,0,	0,0,	0,0,	0,0,	
0,0,	0,0,	1,4,	1,5,	
76,0,	0,0,	0,0,	0,0,	
0,0,	0,0,	7,37,	0,0,	
0,0,	0,0,	0,0,	0,0,	
0,0,	0,0,	7,37,	7,37,	
0,0,	0,0,	0,0,	0,0,	
0,0,	1,6,	0,0,	1,7,	
0,0,	1,8,	1,9,	0,0,	
0,0,	1,10,	1,11,	0,0,	
1,3,	1,12,	1,13,	1,14,	
0,0,	1,15,	0,0,	7,38,	
0,0,	44,49,	0,0,	0,0,	
0,0,	0,0,	0,0,	1,16,	
7,37,	0,0,	1,17,	0,0,	
0,0,	7,37,	1,18,	0,0,	
1,19,	54,88,	1,18,	0,0,	
0,0,	0,0,	20,54,	0,0,	
44,80,	46,81,	0,0,	0,0,	
1,20,	0,0,	7,37,	0,0,	
0,0,	0,0,	7,37,	0,0,	
0,0,	0,0,	0,0,	0,0,	
0,0,	1,21,	0,0,	0,0,	
1,22,	0,0,	1,23,	1,24,	
1,25,	1,26,	28,67,	26,64,	
32,72,	33,73,	1,27,	26,65,	
44,80,	46,81,	1,28,	22,56,	
1,29,	1,30,	1,31,	1,32,	
1,33,	1,34,	1,35,	2,6,	
9,41,	27,66,	2,36,	2,8,	
2,9,	30,70,	31,71,	2,10,	
2,11,	34,74,	35,75,	2,12,	
2,13,	2,14,	23,57,	14,46,	
14,46,	14,46,	14,46,	14,46,	
14,46,	14,46,	14,46,	14,46,	
14,46,	2,16,	24,60,	25,62,	
2,17,	23,58,	23,59,	56,90,	
24,61,	25,63,	2,19,	14,47,	
21,55,	21,55,	21,55,	21,55,	
21,55,	21,55,	21,55,	21,55,	
21,55,	21,55,	2,20,	41,78,	
29,68,	14,48,	29,69,	57,91,	
59,92,	60,93,	61,94,	62,95,	
63,96,	64,97,	41,79,	2,21,	
65,99,	67,102,	2,22,	69,103,	
2,23,	2,24,	2,25,	2,26,	
70,104,	71,105,	73,108,	66,100,	
2,27,	64,98,	75,109,	72,106,	
2,28,	72,107,	2,29,	2,30,	
2,31,	2,32,	2,33,	2,34,	
2,35,	8,39,	66,101,	78,111,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	79,112,	82,116,	
90,120,	92,121,	93,122,	94,123,	
95,124,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	82,116,	
8,40,	96,125,	97,126,	8,39,	
98,127,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	8,39,	
8,39,	8,39,	8,39,	13,42,	
13,43,	99,128,	13,44,	13,44,	
13,44,	13,44,	13,44,	13,44,	
13,44,	13,44,	13,44,	13,44,	
100,129,	101,131,	102,132,	103,133,	
100,130,	104,134,	105,135,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	106,136,	13,45,	107,137,	
108,138,	13,42,	109,139,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	13,42,	13,42,	13,42,	
13,42,	15,49,	111,140,	15,50,	
15,50,	15,50,	15,50,	15,50,	
15,50,	15,50,	15,50,	15,50,	
15,50,	112,141,	120,144,	121,145,	
122,146,	123,147,	124,148,	125,149,	
15,51,	15,51,	15,51,	15,51,	
15,52,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,53,	126,150,	
127,151,	128,152,	15,51,	129,153,	
15,51,	15,51,	15,51,	15,51,	
15,52,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	15,51,	15,51,	
15,51,	15,51,	18,42,	130,154,	
131,155,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	132,156,	
134,157,	136,158,	137,159,	139,160,	
140,161,	144,162,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,53,	18,45,	145,163,	146,164,	
18,51,	149,165,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
18,51,	18,51,	18,51,	18,51,	
36,76,	150,166,	151,167,	152,168,	
154,169,	155,170,	158,171,	159,172,	
36,76,	36,0,	40,77,	40,77,	
40,77,	40,77,	40,77,	40,77,	
40,77,	40,77,	40,77,	40,77,	
43,46,	43,46,	43,46,	43,46,	
43,46,	43,46,	43,46,	43,46,	
43,46,	43,46,	163,173,	164,174,	
166,175,	36,76,	167,176,	168,177,	
169,178,	171,179,	173,180,	174,181,	
179,182,	180,183,	36,76,	181,184,	
0,0,	0,0,	0,0,	36,76,	
0,0,	42,42,	0,0,	0,0,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	0,0,	0,0,	
36,76,	0,0,	0,0,	0,0,	
36,76,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	0,0,	
42,45,	0,0,	0,0,	42,42,	
0,0,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	42,42,	
42,42,	42,42,	42,42,	49,82,	
49,82,	49,82,	49,82,	49,82,	
49,82,	49,82,	49,82,	49,82,	
49,82,	55,89,	55,89,	55,89,	
55,89,	55,89,	55,89,	55,89,	
55,89,	55,89,	55,89,	50,49,	
49,83,	50,50,	50,50,	50,50,	
50,50,	50,50,	50,50,	50,50,	
50,50,	50,50,	50,50,	53,53,	
53,53,	53,53,	53,53,	53,53,	
53,53,	53,53,	53,53,	53,53,	
53,53,	0,0,	50,52,	0,0,	
0,0,	0,0,	0,0,	0,0,	
52,84,	0,0,	52,85,	0,0,	
49,83,	52,86,	52,86,	52,86,	
52,86,	52,86,	52,86,	52,86,	
52,86,	52,86,	52,86,	77,110,	
77,110,	77,110,	77,110,	77,110,	
77,110,	77,110,	77,110,	77,110,	
77,110,	80,84,	50,52,	80,85,	
53,87,	0,0,	80,113,	80,113,	
80,113,	80,113,	80,113,	80,113,	
80,113,	80,113,	80,113,	80,113,	
81,114,	0,0,	81,114,	0,0,	
0,0,	81,115,	81,115,	81,115,	
81,115,	81,115,	81,115,	81,115,	
81,115,	81,115,	81,115,	83,117,	
0,0,	83,117,	0,0,	0,0,	
83,118,	83,118,	83,118,	83,118,	
83,118,	83,118,	83,118,	83,118,	
83,118,	83,118,	84,119,	84,119,	
84,119,	84,119,	84,119,	84,119,	
84,119,	84,119,	84,119,	84,119,	
85,113,	85,113,	85,113,	85,113,	
85,113,	85,113,	85,113,	85,113,	
85,113,	85,113,	86,86,	86,86,	
86,86,	86,86,	86,86,	86,86,	
86,86,	86,86,	86,86,	86,86,	
89,42,	89,42,	89,42,	89,42,	
89,42,	89,42,	89,42,	89,42,	
89,42,	89,42,	110,39,	110,39,	
110,39,	110,39,	110,39,	110,39,	
110,39,	110,39,	110,39,	110,39,	
113,113,	113,113,	113,113,	113,113,	
113,113,	113,113,	113,113,	113,113,	
113,113,	113,113,	114,115,	114,115,	
114,115,	114,115,	114,115,	114,115,	
114,115,	114,115,	114,115,	114,115,	
116,142,	0,0,	116,142,	0,0,	
0,0,	116,143,	116,143,	116,143,	
116,143,	116,143,	116,143,	116,143,	
116,143,	116,143,	116,143,	117,118,	
117,118,	117,118,	117,118,	117,118,	
117,118,	117,118,	117,118,	117,118,	
117,118,	142,143,	142,143,	142,143,	
142,143,	142,143,	142,143,	142,143,	
142,143,	142,143,	142,143,	0,0,	
0,0};
struct yysvf Int_yysvec[] ={
0,	0,	0,
Int_yycrank+-1,	0,		0,	
Int_yycrank+-87,	Int_yysvec+1,	0,	
Int_yycrank+0,	0,		Int_yyvstop+1,
Int_yycrank+0,	0,		Int_yyvstop+3,
Int_yycrank+0,	0,		Int_yyvstop+6,
Int_yycrank+0,	0,		Int_yyvstop+8,
Int_yycrank+-17,	0,		Int_yyvstop+11,
Int_yycrank+160,	0,		Int_yyvstop+13,
Int_yycrank+8,	0,		Int_yyvstop+15,
Int_yycrank+0,	0,		Int_yyvstop+17,
Int_yycrank+0,	0,		Int_yyvstop+20,
Int_yycrank+0,	0,		Int_yyvstop+23,
Int_yycrank+238,	0,		Int_yyvstop+26,
Int_yycrank+87,	0,		Int_yyvstop+29,
Int_yycrank+315,	Int_yysvec+13,	Int_yyvstop+31,
Int_yycrank+0,	0,		Int_yyvstop+35,
Int_yycrank+0,	0,		Int_yyvstop+38,
Int_yycrank+393,	0,		Int_yyvstop+41,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+44,
Int_yycrank+1,	Int_yysvec+18,	Int_yyvstop+48,
Int_yycrank+108,	0,		Int_yyvstop+51,
Int_yycrank+1,	Int_yysvec+18,	Int_yyvstop+53,
Int_yycrank+34,	Int_yysvec+18,	Int_yyvstop+56,
Int_yycrank+35,	Int_yysvec+18,	Int_yyvstop+59,
Int_yycrank+39,	Int_yysvec+18,	Int_yyvstop+62,
Int_yycrank+2,	Int_yysvec+18,	Int_yyvstop+66,
Int_yycrank+11,	Int_yysvec+18,	Int_yyvstop+69,
Int_yycrank+5,	Int_yysvec+18,	Int_yyvstop+73,
Int_yycrank+58,	Int_yysvec+18,	Int_yyvstop+76,
Int_yycrank+11,	Int_yysvec+18,	Int_yyvstop+80,
Int_yycrank+9,	Int_yysvec+18,	Int_yyvstop+84,
Int_yycrank+3,	Int_yysvec+18,	Int_yyvstop+88,
Int_yycrank+1,	Int_yysvec+18,	Int_yyvstop+91,
Int_yycrank+18,	Int_yysvec+18,	Int_yyvstop+94,
Int_yycrank+15,	Int_yysvec+18,	Int_yyvstop+97,
Int_yycrank+-515,	0,		Int_yyvstop+100,
Int_yycrank+0,	Int_yysvec+7,	0,	
Int_yycrank+0,	0,		Int_yyvstop+103,
Int_yycrank+0,	Int_yysvec+8,	Int_yyvstop+105,
Int_yycrank+478,	0,		0,	
Int_yycrank+63,	0,		0,	
Int_yycrank+520,	0,		Int_yyvstop+107,
Int_yycrank+488,	0,		0,	
Int_yycrank+7,	Int_yysvec+13,	Int_yyvstop+109,
Int_yycrank+0,	Int_yysvec+21,	0,	
Int_yycrank+8,	Int_yysvec+43,	Int_yyvstop+112,
Int_yycrank+0,	0,		Int_yyvstop+114,
Int_yycrank+0,	0,		Int_yyvstop+116,
Int_yycrank+595,	0,		Int_yyvstop+118,
Int_yycrank+617,	Int_yysvec+18,	Int_yyvstop+120,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+123,
Int_yycrank+649,	Int_yysvec+18,	Int_yyvstop+125,
Int_yycrank+627,	0,		0,	
Int_yycrank+1,	Int_yysvec+18,	Int_yyvstop+127,
Int_yycrank+605,	0,		0,	
Int_yycrank+34,	Int_yysvec+18,	Int_yyvstop+129,
Int_yycrank+71,	Int_yysvec+18,	Int_yyvstop+131,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+133,
Int_yycrank+56,	Int_yysvec+18,	Int_yyvstop+136,
Int_yycrank+62,	Int_yysvec+18,	Int_yyvstop+138,
Int_yycrank+69,	Int_yysvec+18,	Int_yyvstop+140,
Int_yycrank+64,	Int_yysvec+18,	Int_yyvstop+142,
Int_yycrank+75,	Int_yysvec+18,	Int_yyvstop+144,
Int_yycrank+78,	Int_yysvec+18,	Int_yyvstop+146,
Int_yycrank+65,	Int_yysvec+18,	Int_yyvstop+148,
Int_yycrank+91,	Int_yysvec+18,	Int_yyvstop+150,
Int_yycrank+82,	Int_yysvec+18,	Int_yyvstop+153,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+155,
Int_yycrank+82,	Int_yysvec+18,	Int_yyvstop+158,
Int_yycrank+83,	Int_yysvec+18,	Int_yyvstop+160,
Int_yycrank+84,	Int_yysvec+18,	Int_yyvstop+162,
Int_yycrank+87,	Int_yysvec+18,	Int_yyvstop+164,
Int_yycrank+79,	Int_yysvec+18,	Int_yyvstop+166,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+168,
Int_yycrank+89,	Int_yysvec+18,	Int_yyvstop+171,
Int_yycrank+-2,	Int_yysvec+36,	Int_yyvstop+173,
Int_yycrank+659,	0,		0,	
Int_yycrank+110,	0,		0,	
Int_yycrank+102,	0,		0,	
Int_yycrank+674,	Int_yysvec+42,	Int_yyvstop+175,
Int_yycrank+689,	0,		0,	
Int_yycrank+150,	Int_yysvec+49,	Int_yyvstop+177,
Int_yycrank+704,	0,		0,	
Int_yycrank+714,	0,		0,	
Int_yycrank+724,	Int_yysvec+42,	Int_yyvstop+180,
Int_yycrank+734,	Int_yysvec+18,	Int_yyvstop+182,
Int_yycrank+0,	0,		Int_yyvstop+185,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+187,
Int_yycrank+744,	0,		0,	
Int_yycrank+112,	Int_yysvec+18,	Int_yyvstop+190,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+192,
Int_yycrank+107,	Int_yysvec+18,	Int_yyvstop+195,
Int_yycrank+106,	Int_yysvec+18,	Int_yyvstop+197,
Int_yycrank+115,	Int_yysvec+18,	Int_yyvstop+199,
Int_yycrank+109,	Int_yysvec+18,	Int_yyvstop+201,
Int_yycrank+156,	Int_yysvec+18,	Int_yyvstop+203,
Int_yycrank+146,	Int_yysvec+18,	Int_yyvstop+205,
Int_yycrank+140,	Int_yysvec+18,	Int_yyvstop+207,
Int_yycrank+173,	Int_yysvec+18,	Int_yyvstop+209,
Int_yycrank+195,	Int_yysvec+18,	Int_yyvstop+211,
Int_yycrank+196,	Int_yysvec+18,	Int_yyvstop+213,
Int_yycrank+184,	Int_yysvec+18,	Int_yyvstop+215,
Int_yycrank+189,	Int_yysvec+18,	Int_yyvstop+217,
Int_yycrank+191,	Int_yysvec+18,	Int_yyvstop+219,
Int_yycrank+186,	Int_yysvec+18,	Int_yyvstop+221,
Int_yycrank+232,	Int_yysvec+18,	Int_yyvstop+223,
Int_yycrank+234,	Int_yysvec+18,	Int_yyvstop+225,
Int_yycrank+213,	Int_yysvec+18,	Int_yyvstop+227,
Int_yycrank+224,	Int_yysvec+18,	Int_yyvstop+229,
Int_yycrank+754,	0,		0,	
Int_yycrank+247,	0,		0,	
Int_yycrank+259,	0,		0,	
Int_yycrank+764,	Int_yysvec+42,	Int_yyvstop+231,
Int_yycrank+774,	0,		0,	
Int_yycrank+0,	Int_yysvec+114,	Int_yyvstop+234,
Int_yycrank+789,	0,		0,	
Int_yycrank+799,	0,		0,	
Int_yycrank+0,	Int_yysvec+117,	Int_yyvstop+236,
Int_yycrank+0,	Int_yysvec+84,	Int_yyvstop+238,
Int_yycrank+266,	Int_yysvec+18,	Int_yyvstop+240,
Int_yycrank+270,	Int_yysvec+18,	Int_yyvstop+242,
Int_yycrank+261,	Int_yysvec+18,	Int_yyvstop+244,
Int_yycrank+277,	Int_yysvec+18,	Int_yyvstop+246,
Int_yycrank+277,	Int_yysvec+18,	Int_yyvstop+248,
Int_yycrank+263,	Int_yysvec+18,	Int_yyvstop+250,
Int_yycrank+310,	Int_yysvec+18,	Int_yyvstop+252,
Int_yycrank+294,	Int_yysvec+18,	Int_yyvstop+254,
Int_yycrank+301,	Int_yysvec+18,	Int_yyvstop+256,
Int_yycrank+291,	Int_yysvec+18,	Int_yyvstop+258,
Int_yycrank+340,	Int_yysvec+18,	Int_yyvstop+260,
Int_yycrank+326,	Int_yysvec+18,	Int_yyvstop+262,
Int_yycrank+340,	Int_yysvec+18,	Int_yyvstop+264,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+266,
Int_yycrank+336,	Int_yysvec+18,	Int_yyvstop+269,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+271,
Int_yycrank+337,	Int_yysvec+18,	Int_yyvstop+274,
Int_yycrank+345,	Int_yysvec+18,	Int_yyvstop+276,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+278,
Int_yycrank+352,	Int_yysvec+18,	Int_yyvstop+281,
Int_yycrank+352,	0,		0,	
Int_yycrank+0,	0,		Int_yyvstop+283,
Int_yycrank+809,	0,		0,	
Int_yycrank+0,	Int_yysvec+142,	Int_yyvstop+285,
Int_yycrank+362,	Int_yysvec+18,	Int_yyvstop+288,
Int_yycrank+388,	Int_yysvec+18,	Int_yyvstop+290,
Int_yycrank+371,	Int_yysvec+18,	Int_yyvstop+292,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+294,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+297,
Int_yycrank+388,	Int_yysvec+18,	Int_yyvstop+300,
Int_yycrank+403,	Int_yysvec+18,	Int_yyvstop+302,
Int_yycrank+407,	Int_yysvec+18,	Int_yyvstop+304,
Int_yycrank+422,	Int_yysvec+18,	Int_yyvstop+306,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+308,
Int_yycrank+419,	Int_yysvec+18,	Int_yyvstop+311,
Int_yycrank+405,	Int_yysvec+18,	Int_yyvstop+313,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+315,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+318,
Int_yycrank+417,	Int_yysvec+18,	Int_yyvstop+321,
Int_yycrank+422,	Int_yysvec+18,	Int_yyvstop+323,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+325,
Int_yycrank+0,	0,		Int_yyvstop+328,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+330,
Int_yycrank+429,	Int_yysvec+18,	Int_yyvstop+333,
Int_yycrank+433,	Int_yysvec+18,	Int_yyvstop+335,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+337,
Int_yycrank+447,	Int_yysvec+18,	Int_yyvstop+340,
Int_yycrank+429,	Int_yysvec+18,	Int_yyvstop+342,
Int_yycrank+430,	Int_yysvec+18,	Int_yyvstop+344,
Int_yycrank+437,	Int_yysvec+18,	Int_yyvstop+346,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+348,
Int_yycrank+442,	Int_yysvec+18,	Int_yyvstop+351,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+353,
Int_yycrank+438,	Int_yysvec+18,	Int_yyvstop+356,
Int_yycrank+458,	Int_yysvec+18,	Int_yyvstop+358,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+360,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+363,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+366,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+369,
Int_yycrank+446,	Int_yysvec+18,	Int_yyvstop+372,
Int_yycrank+456,	Int_yysvec+18,	Int_yyvstop+374,
Int_yycrank+447,	Int_yysvec+18,	Int_yyvstop+376,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+378,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+381,
Int_yycrank+0,	Int_yysvec+18,	Int_yyvstop+384,
0,	0,	0};
struct yywork *Int_yytop = Int_yycrank+866;
struct yysvf *Int_yybgin = Int_yysvec+1;
char Int_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  ,
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  ,
01  ,'A' ,'A' ,'A' ,'A' ,'E' ,'A' ,'A' ,
'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,'A' ,
01  ,'A' ,'A' ,'A' ,'A' ,'E' ,'A' ,'A' ,
'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
0};
char Int_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};
/*	ncform	4.1	83/08/11	*/

int Int_yylineno =1;
# define YYU(x) x
# define NLSTATE Int_yyprevious=YYNEWLINE
char Int_yytext[YYLMAX];
struct yysvf *Int_yylstate [YYLMAX], **Int_yylsp, **Int_yyolsp;
char Int_yysbuf[YYLMAX];
char *Int_yysptr = Int_yysbuf;
int *Int_yyfnd;
extern struct yysvf *Int_yyestate;
int Int_yyprevious = YYNEWLINE;
Int_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 (!Int_yymorfg)
		yylastch = Int_yytext;
	else {
		Int_yymorfg=0;
		yylastch = Int_yytext+Int_yyleng;
		}
	for(;;){
		lsp = Int_yylstate;
		Int_yyestate = yystate = Int_yybgin;
		if (Int_yyprevious==YYNEWLINE) yystate++;
		for (;;){
# ifdef LEXDEBUG
			if(debug)fprintf(Int_yyout,"state %d\n",yystate-Int_yysvec-1);
# endif
			yyt = yystate->yystoff;
			if(yyt == Int_yycrank){		/* may not be any transitions */
				yyz = yystate->yyother;
				if(yyz == 0)break;
				if(yyz->yystoff == Int_yycrank)break;
				}
			*yylastch++ = yych = input();
		tryagain:
# ifdef LEXDEBUG
			if(debug){
				fprintf(Int_yyout,"unsigned char ");
				allprint(yych);
				putchar('\n');
				}
# endif
			yyr = yyt;
			if ( (int)yyt > (int)Int_yycrank){
				yyt = yyr + yych;
				if (yyt <= Int_yytop && yyt->verify+Int_yysvec == yystate){
					if(yyt->advance+Int_yysvec == YYLERR)	/* error transitions */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+Int_yysvec;
					goto contin;
					}
				}
# ifdef YYOPTIM
			else if((int)yyt < (int)Int_yycrank) {		/* r < Int_yycrank */
				yyt = yyr = Int_yycrank+(Int_yycrank-yyt);
# ifdef LEXDEBUG
				if(debug)fprintf(Int_yyout,"compressed state\n");
# endif
				yyt = yyt + yych;
				if(yyt <= Int_yytop && yyt->verify+Int_yysvec == yystate){
					if(yyt->advance+Int_yysvec == YYLERR)	/* error transitions */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+Int_yysvec;
					goto contin;
					}
				yyt = yyr + YYU(Int_yymatch[yych]);
# ifdef LEXDEBUG
				if(debug){
					fprintf(Int_yyout,"try fall back character ");
					allprint(YYU(Int_yymatch[yych]));
					putchar('\n');
					}
# endif
				if(yyt <= Int_yytop && yyt->verify+Int_yysvec == yystate){
					if(yyt->advance+Int_yysvec == YYLERR)	/* error transition */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+Int_yysvec;
					goto contin;
					}
				}
			if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != Int_yycrank){
# ifdef LEXDEBUG
				if(debug)fprintf(Int_yyout,"fall back to state %d\n",yystate-Int_yysvec-1);
# endif
				goto tryagain;
				}
# endif
			else
				{unput(*--yylastch);break;}
		contin:
# ifdef LEXDEBUG
			if(debug){
				fprintf(Int_yyout,"state %d char ",yystate-Int_yysvec-1);
				allprint(yych);
				putchar('\n');
				}
# endif
			;
			}
# ifdef LEXDEBUG
		if(debug){
			fprintf(Int_yyout,"stopped at %d with ",*(lsp-1)-Int_yysvec-1);
			allprint(yych);
			putchar('\n');
			}
# endif
		while (lsp-- > Int_yylstate){
			*yylastch-- = 0;
			if (*lsp != 0 && (Int_yyfnd= (*lsp)->yystops) && *Int_yyfnd > 0){
				Int_yyolsp = lsp;
				if(Int_yyextra[*Int_yyfnd]){		/* must backup */
					while(Int_yyback((*lsp)->yystops,-*Int_yyfnd) != 1 && lsp > Int_yylstate){
						lsp--;
						unput(*yylastch--);
						}
					}
				Int_yyprevious = YYU(*yylastch);
				Int_yylsp = lsp;
				Int_yyleng = yylastch-Int_yytext+1;
				Int_yytext[Int_yyleng] = 0;
# ifdef LEXDEBUG
				if(debug){
					fprintf(Int_yyout,"\nmatch ");
					sprint(Int_yytext);
					fprintf(Int_yyout," action %d\n",*Int_yyfnd);
					}
# endif
				return(*Int_yyfnd++);
				}
			unput(*yylastch);
			}
		if (Int_yytext[0] == 0  /* && feof(Int_yyin) */)
			{
			Int_yysptr=Int_yysbuf;
			return(0);
			}
		Int_yyprevious = Int_yytext[0] = input();
		if (Int_yyprevious>0)
			output(Int_yyprevious);
		yylastch=Int_yytext;
# ifdef LEXDEBUG
		if(debug)putchar('\n');
# endif
		}
	}
Int_yyback(p, m)
	int *p;
{
if (p==0) return(0);
while (*p)
	{
	if (*p++ == m)
		return(1);
	}
return(0);
}
	/* the following are only used in the lex library */
Int_Int_yyinput(){
	return(input());
	}
Int_Int_yyoutput(c)
  int c; {
	output(c);
	}
Int_yyunput(c)
   int c; {
	unput(c);
	}
