USG_PG3/usr/source/agen/al.c
#
#define YYLMAX 200
# define BINARY 1
# define HASH 2
int yylexl();
extern int yyleng; extern char yytext[];
extern struct {int *yyaa, *yybb, *yycc;} yysvec[], *yybgin;
int (*yyplex)() &yylexl;
yylex() {
return( (*yyplex)() );
}
# define REJECT {nstr=yyreject(); goto fussy;}
# define ECHO printf("%s", yytext);
yylexl() {
int nstr;
char s[200];
while((nstr=yylook()) >= 0)
fussy: switch(nstr)
{
case 0:
if (yywrap()) return(0); break;
case 1:
return(Int);break;
case 2:
return(Char);break;
case 3:
return(String);break;
case 4:
return(Size);break;
case 5:
return(Exist);break;
case 6:
{
yylval = HASH;
return(Method);
}break;
case 7:
{
yylval = BINARY;
return(Method);
}break;
case 8:
{
while (gets(s) && !streq(s,"%}"))
puts(s);
}break;
case 9:
return(0);break;
case 10:
;break;
case 11:
{
return(name);
}break;
case 12:
{
scanf (-1, yytext, "%d", &yylval);
return(number);
}break;
case 13:
return('(');break;
case 14:
return(')');break;
case 15:
return(yytext[0]);break;;}
}
streq(s,t)
char *s, *t;
{
int c;
while ((c= *s++) == *t++)
if (c==0)
return(1);
return(0);
}
# define YYNEWLINE 10
struct yywork {int *verify, *advance;} yycrank[] {
0, 0,
0, 0,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+12,
yysvec+1, yysvec+13,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+12,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+14,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+15,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+17,
yysvec+1, yysvec+11,
yysvec+1, yysvec+18,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+16,
yysvec+1, yysvec+19,
yysvec+1, yysvec+20,
yysvec+1, yysvec+16,
yysvec+1, yysvec+21,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+22,
yysvec+1, yysvec+23,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+24,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+16,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+1, yysvec+11,
yysvec+3, yysvec+4,
yysvec+5, yysvec+6,
yysvec+6, yysvec+7,
yysvec+7, yysvec+8,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+19, yysvec+25,
yysvec+20, yysvec+26,
yysvec+21, yysvec+27,
yysvec+22, yysvec+28,
yysvec+23, yysvec+29,
yysvec+25, yysvec+32,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+9, yysvec+9,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+10, yysvec+10,
yysvec+24, yysvec+30,
yysvec+26, yysvec+33,
yysvec+27, yysvec+34,
yysvec+28, yysvec+35,
yysvec+29, yysvec+36,
yysvec+30, yysvec+37,
yysvec+31, yysvec+38,
yysvec+32, yysvec+39,
yysvec+33, yysvec+40,
yysvec+34, yysvec+41,
yysvec+35, yysvec+42,
yysvec+24, yysvec+31,
yysvec+37, yysvec+43,
yysvec+38, yysvec+44,
yysvec+39, yysvec+45,
yysvec+41, yysvec+46,
yysvec+44, yysvec+47,
yysvec+45, yysvec+48,
yysvec+47, yysvec+49,
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, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0};
int yyvstop[] {
0,
8,
0,
9,
0,
11,
0,
12,
0,
15,
0,
10,
15,
0,
10,
0,
12,
15,
0,
11,
15,
0,
13,
15,
0,
14,
15,
0,
1,
11,
0,
2,
11,
0,
6,
11,
0,
4,
11,
0,
5,
11,
0,
7,
11,
0,
3,
11,
0,
0};
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;} yysvec []{
0,0,0,
yycrank+1, 0,0,
yycrank+0, yysvec+1,0,
yycrank+6, 0,0,
0, 0,yyvstop+1,
yycrank+93, 0,0,
yycrank+94, 0,0,
yycrank+122, 0,0,
0, 0,yyvstop+3,
yycrank+68, 0,yyvstop+5,
yycrank+143, 0,yyvstop+7,
0, 0,yyvstop+9,
0, 0,yyvstop+11,
0, yysvec+5,yyvstop+14,
0, yysvec+3,yyvstop+9,
0, yysvec+10,yyvstop+16,
0, yysvec+9,yyvstop+19,
0, 0,yyvstop+22,
0, 0,yyvstop+25,
yycrank+54, yysvec+9,yyvstop+19,
yycrank+56, yysvec+9,yyvstop+19,
yycrank+41, yysvec+9,yyvstop+19,
yycrank+65, yysvec+9,yyvstop+19,
yycrank+53, yysvec+9,yyvstop+19,
yycrank+96, yysvec+9,yyvstop+19,
yycrank+54, yysvec+9,yyvstop+5,
yycrank+105, yysvec+9,yyvstop+5,
yycrank+98, yysvec+9,yyvstop+5,
yycrank+89, yysvec+9,yyvstop+5,
yycrank+89, yysvec+9,yyvstop+5,
yycrank+84, yysvec+9,yyvstop+5,
yycrank+93, yysvec+9,yyvstop+5,
yycrank+111, yysvec+9,yyvstop+5,
yycrank+95, yysvec+9,yyvstop+5,
yycrank+95, yysvec+9,yyvstop+5,
yycrank+107, yysvec+9,yyvstop+5,
0, yysvec+9,yyvstop+28,
yycrank+112, yysvec+9,yyvstop+5,
yycrank+109, yysvec+9,yyvstop+5,
yycrank+101, yysvec+9,yyvstop+5,
0, yysvec+9,yyvstop+31,
yycrank+100, yysvec+9,yyvstop+5,
0, yysvec+9,yyvstop+34,
0, yysvec+9,yyvstop+37,
yycrank+107, yysvec+9,yyvstop+5,
yycrank+97, yysvec+9,yyvstop+5,
0, yysvec+9,yyvstop+40,
yycrank+116, yysvec+9,yyvstop+5,
0, yysvec+9,yyvstop+43,
0, yysvec+9,yyvstop+46,
0,0,0};
int yyextra[] {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0};
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
int *yyfnd, yymorfg, yyleng;
char yytext[YYLMAX];
struct yysvf *yybgin yysvec+1;
int yyprevious YYNEWLINE;
yylook ()
{
register struct yysvf *state, **lsp;
register struct yywork *r;
int ch, n;
char *yylastch;
/* start off machines */
if (!yymorfg)
yylastch = yytext;
else
{
yymorfg=0;
yylastch = yytext+yyleng-1;
}
loop:
lsp = yylstate;
state = yybgin;
if (yyprevious==YYNEWLINE) state++;
for (;;)
{
if ((r = state->yystoff) == 0)
if((state= state->yyother) ==0)
break;
else r = state->yystoff;
*yylastch++ = ch = input();
tryagain:
r =+ ch;
if (r->verify == state)
*lsp++ = state = r->advance;
else
if ((state = state->yyother) && (r= state->yystoff))
goto tryagain;
else
{
unput(*--yylastch);
break;
}
}
while (lsp-- > yylstate)
{
*yylastch-- = 0;
if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0)
{
yyolsp = lsp;
if (yyextra[*yyfnd])
{
while (yyback((*lsp)->yystops, -*yyfnd) != 1 && lsp>yylstate)
{
lsp--;
unput(*yylastch--);
}
}
yyprevious = *yylastch;
yylsp = lsp;
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
return(*yyfnd++);
}
unput(*yylastch);
}
if (yytext[0] == 0)
return(0);
output(yyprevious = input());
yylastch=yytext;
goto loop;
}
yyback(p, m)
int *p;
{
if (p==0) return(0);
while (*p)
{
if (*p++ == m)
return(1);
}
return(0);
}