|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T l
Length: 17946 (0x461a)
Types: TextFile
Names: »lex.yy.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Kraut/lex.yy.c«
# 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;
char buf[128];
# 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("ingkt");
break;
case 2:
return(" ze ");
break;
case 3:
return("Ze ");
break;
case 4:
return(" mitt ");
break;
case 5:
return("Mitt ");
break;
case 6:
return("w-r-r");
break;
case 7:
return("W-r-r");
break;
case 8:
return("R-r-r");
break;
case 9:
return("Jawohl ");
break;
case 10:
return(" r-r-r");
break;
case 11:
return("Jawohl.");
break;
case 12:
return("Jawohl!");
break;
case 13:
return("JAWOHL!");
break;
case 14:
return(" ja ");
break;
case 15:
return(" ja.");
break;
case 16:
return(" yes!");
break;
case 17:
return("Nein ");
break;
case 18:
return("Nein!");
break;
case 19:
return("Nein?");
break;
case 20:
return(" nein ");
break;
case 21:
return(" nein.");
break;
case 22:
return(" nein!");
break;
case 23:
return(" nein?");
break;
case 24:
return("Herr");
break;
case 25:
return("Frau");
break;
case 26:
return("Fraulein");
break;
case 27:
return(" uff ");
break;
case 28:
return("Uff ");
break;
case 29:
return("mein");
break;
case 30:
return("Mein");
break;
case 31:
return(" undt ");
break;
case 32:
return("Undt ");
break;
case 33:
return("Ein ");
break;
case 34:
return(" ein");
break;
case 35:
return("Ist ");
break;
case 36:
return(" ist ");
break;
case 37:
return("ow ");
break;
case 38:
return("w ");
break;
case 39:
return("sch");
break;
case 40:
return("Sch");
break;
case 41:
return("ch");
break;
case 42:
return("Ch");
break;
case 43:
return(" k");
break;
case 44:
return(" K");
break;
case 45:
return("f");
break;
case 46:
return("F");
break;
case 47:
return(" v");
break;
case 48:
return("V");
break;
case 49:
return("d");
break;
case 50:
return("D");
break;
case 51:
return("Johann");
break;
case 52:
return("Wilhelm");
break;
case 53:
return("Wilhelm");
break;
case 54:
return("Gerhardt");
break;
case 55:
return("Hansel");
break;
case 56:
{sprintf(buf,"%s Naturlich!",yytext);return(buf);}
break;
case 57:
{sprintf(buf,"%s Seig Heil!",yytext);return(buf);}
break;
case 58:
return(yytext);
break;
case 59:
return("\n");
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
int yyvstop[] = {
0,
58,
0,
59,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
8,
58,
0,
58,
0,
58,
0,
46,
58,
0,
48,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
58,
0,
45,
58,
0,
58,
0,
44,
0,
43,
0,
10,
0,
47,
0,
42,
0,
30,
0,
40,
0,
50,
0,
7,
0,
56,
0,
41,
0,
29,
0,
57,
0,
39,
0,
49,
0,
38,
0,
6,
0,
35,
0,
55,
0,
24,
0,
17,
0,
18,
0,
19,
0,
28,
0,
1,
0,
37,
0,
36,
0,
20,
0,
22,
0,
21,
0,
23,
0,
27,
0,
34,
0,
32,
0,
53,
0,
54,
0,
51,
0,
26,
0,
25,
0,
33,
0,
3,
0,
13,
0,
9,
0,
12,
0,
11,
0,
31,
0,
2,
0,
14,
0,
16,
0,
15,
0,
5,
0,
4,
0,
52,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] = {
0,0, 0,0, 1,3, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 1,4,
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, 1,5, 0,0, 21,60,
0,0, 0,0, 23,60, 27,65,
0,0, 0,0, 0,0, 0,0,
0,0, 22,60, 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, 28,65, 0,0,
0,0, 0,0, 1,6, 1,7,
1,8, 46,82, 0,0, 20,58,
1,9, 0,0, 1,10, 1,11,
31,68, 31,65, 1,12, 1,13,
1,14, 52,91, 0,0, 1,15,
1,16, 1,17, 0,0, 1,18,
1,19, 2,5, 1,20, 0,0,
0,0, 0,0, 64,99, 0,0,
72,101, 0,0, 1,21, 1,22,
1,23, 9,45, 74,106, 20,59,
79,111, 8,44, 1,24, 16,54,
17,55, 23,61, 1,25, 6,42,
1,26, 1,27, 11,47, 7,43,
1,28, 1,29, 10,46, 1,30,
1,31, 13,51, 2,6, 14,52,
2,8, 19,56, 22,43, 5,32,
12,48, 24,62, 2,10, 14,53,
26,64, 28,66, 19,57, 2,13,
2,14, 12,49, 25,49, 2,15,
2,16, 2,17, 29,67, 2,18,
12,50, 25,63, 2,20, 33,71,
35,72, 31,69, 36,73, 39,76,
37,74, 40,77, 41,78, 42,79,
2,23, 5,33, 31,70, 5,34,
37,75, 43,80, 2,24, 45,81,
48,85, 5,35, 2,25, 49,86,
2,26, 53,92, 5,36, 5,37,
2,28, 2,29, 5,38, 2,30,
5,39, 47,83, 55,93, 5,40,
56,94, 5,41, 58,96, 47,84,
51,88, 51,89, 59,97, 62,98,
56,95, 69,94, 71,100, 73,102,
73,103, 75,107, 76,108, 77,109,
78,110, 80,112, 81,113, 83,114,
85,115, 87,116, 92,117, 93,118,
94,119, 73,104, 95,120, 96,121,
100,125, 97,122, 97,123, 108,126,
109,127, 110,128, 110,129, 51,90,
119,131, 120,132, 127,133, 131,134,
134,135, 0,0, 73,105, 97,124,
0,0, 0,0, 0,0, 110,130,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
49,87, 0,0, 0,0, 0,0,
0,0};
struct yysvf yysvec[] = {
0, 0, 0,
yycrank+-1, 0, 0,
yycrank+-57, yysvec+1, 0,
yycrank+0, 0, yyvstop+1,
yycrank+0, 0, yyvstop+3,
yycrank+60, 0, yyvstop+5,
yycrank+1, 0, yyvstop+7,
yycrank+1, 0, yyvstop+9,
yycrank+1, 0, yyvstop+11,
yycrank+4, 0, yyvstop+13,
yycrank+3, 0, yyvstop+15,
yycrank+3, 0, yyvstop+17,
yycrank+23, 0, yyvstop+19,
yycrank+10, 0, yyvstop+21,
yycrank+21, 0, yyvstop+23,
yycrank+0, 0, yyvstop+25,
yycrank+3, 0, yyvstop+28,
yycrank+4, 0, yyvstop+30,
yycrank+0, 0, yyvstop+32,
yycrank+20, 0, yyvstop+35,
yycrank+2, 0, yyvstop+38,
yycrank+2, 0, yyvstop+40,
yycrank+12, 0, yyvstop+42,
yycrank+5, 0, yyvstop+44,
yycrank+19, 0, yyvstop+46,
yycrank+24, 0, yyvstop+48,
yycrank+13, 0, yyvstop+50,
yycrank+6, 0, yyvstop+52,
yycrank+29, 0, yyvstop+54,
yycrank+38, yysvec+28, yyvstop+56,
yycrank+0, yysvec+27, yyvstop+58,
yycrank+44, 0, yyvstop+61,
yycrank+0, 0, yyvstop+63,
yycrank+37, 0, 0,
yycrank+0, 0, yyvstop+65,
yycrank+33, 0, 0,
yycrank+39, 0, 0,
yycrank+50, 0, 0,
yycrank+0, 0, yyvstop+67,
yycrank+47, 0, 0,
yycrank+48, 0, yyvstop+69,
yycrank+53, 0, 0,
yycrank+55, 0, 0,
yycrank+64, 0, 0,
yycrank+0, 0, yyvstop+71,
yycrank+49, 0, 0,
yycrank+37, 0, 0,
yycrank+73, 0, 0,
yycrank+49, 0, 0,
yycrank+121, 0, 0,
yycrank+0, 0, yyvstop+73,
yycrank+152, 0, 0,
yycrank+49, 0, 0,
yycrank+68, 0, 0,
yycrank+0, 0, yyvstop+75,
yycrank+77, 0, yyvstop+77,
yycrank+72, 0, 0,
yycrank+0, 0, yyvstop+79,
yycrank+99, 0, 0,
yycrank+71, 0, 0,
yycrank+0, 0, yyvstop+81,
yycrank+0, 0, yyvstop+83,
yycrank+84, 0, 0,
yycrank+0, 0, yyvstop+85,
yycrank+62, 0, 0,
yycrank+0, 0, yyvstop+87,
yycrank+0, 0, yyvstop+89,
yycrank+0, 0, yyvstop+91,
yycrank+0, 0, yyvstop+93,
yycrank+81, 0, 0,
yycrank+0, 0, yyvstop+95,
yycrank+90, 0, 0,
yycrank+64, 0, 0,
yycrank+159, 0, 0,
yycrank+70, 0, 0,
yycrank+92, 0, 0,
yycrank+93, 0, 0,
yycrank+79, 0, 0,
yycrank+81, 0, 0,
yycrank+72, 0, 0,
yycrank+97, 0, 0,
yycrank+77, 0, 0,
yycrank+0, 0, yyvstop+97,
yycrank+89, 0, 0,
yycrank+0, 0, yyvstop+99,
yycrank+85, 0, 0,
yycrank+0, 0, yyvstop+101,
yycrank+155, 0, 0,
yycrank+0, 0, yyvstop+103,
yycrank+0, 0, yyvstop+105,
yycrank+0, 0, yyvstop+107,
yycrank+0, 0, yyvstop+109,
yycrank+170, 0, 0,
yycrank+171, 0, 0,
yycrank+96, 0, 0,
yycrank+102, 0, 0,
yycrank+174, 0, 0,
yycrank+177, 0, 0,
yycrank+0, 0, yyvstop+111,
yycrank+0, 0, yyvstop+113,
yycrank+176, 0, 0,
yycrank+0, 0, yyvstop+115,
yycrank+0, 0, yyvstop+117,
yycrank+0, 0, yyvstop+119,
yycrank+0, 0, yyvstop+121,
yycrank+0, 0, yyvstop+123,
yycrank+0, 0, yyvstop+125,
yycrank+0, 0, yyvstop+127,
yycrank+179, 0, 0,
yycrank+108, 0, 0,
yycrank+181, 0, 0,
yycrank+0, 0, yyvstop+129,
yycrank+0, 0, yyvstop+131,
yycrank+0, 0, yyvstop+133,
yycrank+0, 0, yyvstop+135,
yycrank+0, 0, yyvstop+137,
yycrank+0, 0, yyvstop+139,
yycrank+0, 0, yyvstop+141,
yycrank+0, 0, yyvstop+143,
yycrank+111, 0, 0,
yycrank+185, 0, 0,
yycrank+0, 0, yyvstop+145,
yycrank+0, 0, yyvstop+147,
yycrank+0, 0, yyvstop+149,
yycrank+0, 0, yyvstop+151,
yycrank+0, 0, yyvstop+153,
yycrank+0, 0, yyvstop+155,
yycrank+186, 0, 0,
yycrank+0, 0, yyvstop+157,
yycrank+0, 0, yyvstop+159,
yycrank+0, 0, yyvstop+161,
yycrank+122, 0, 0,
yycrank+0, 0, yyvstop+163,
yycrank+0, 0, yyvstop+165,
yycrank+111, 0, 0,
yycrank+0, 0, yyvstop+167,
0, 0, 0};
struct yywork *yytop = yycrank+236;
struct yysvf *yybgin = yysvec+1;
char yymatch[] = {
00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,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 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,'B' ,01 ,01 ,01 ,01 ,'G' ,
01 ,01 ,'J' ,01 ,01 ,'M' ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,'W' ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,'a' ,'b' ,'a' ,'a' ,'a' ,'a' ,'G' ,
01 ,01 ,'J' ,01 ,01 ,'M' ,01 ,01 ,
'p' ,'p' ,'p' ,'p' ,'p' ,'p' ,'p' ,'w' ,
'p' ,'p' ,'p' ,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};
#ident "@(#)libl:lib/ncform 1.3"
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, 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;
}
*yylastch++ = yych = input();
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;
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(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 */
yyinput(){
return(input());
}
yyoutput(c)
int c; {
output(c);
}
yyunput(c)
int c; {
unput(c);
}