mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-14 23:46:14 +00:00
* Remove static char *id = from all source files. The same information is included in a comment in each source file. * Remove unused template file 'id'
654 lines
25 KiB
C
654 lines
25 KiB
C
/* $Id: lplexyy.c,v 1.2 1999/01/03 02:07:18 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved
|
|
*/
|
|
|
|
/************************************************************************/
|
|
/* */
|
|
/* (C) Copyright 1989-95 Venue. All Rights Reserved. */
|
|
/* Manufactured in the United States of America. */
|
|
/* */
|
|
/************************************************************************/
|
|
|
|
#include "version.h"
|
|
|
|
#ifndef BIGATOMS
|
|
#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;
|
|
extern int yylook();
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#define yywrap() (1)
|
|
extern int yylex();
|
|
extern int yyreject();
|
|
extern int yyracc(int);
|
|
extern int yyless(int);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#define COMMENT 2
|
|
#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: {
|
|
BEGIN COMMENT;
|
|
} break;
|
|
case 2: {
|
|
BEGIN INITIAL;
|
|
} break;
|
|
case 3: {
|
|
} break;
|
|
case 4: {
|
|
} break;
|
|
case 5: {
|
|
} break;
|
|
case 6: {
|
|
return (COMMA);
|
|
} break;
|
|
case 7: {
|
|
return (MINIMISE);
|
|
} break;
|
|
case 8: {
|
|
return (MAXIMISE);
|
|
} break;
|
|
case 9: {
|
|
sscanf((char *)yytext, "%lf", &f);
|
|
return (CONS);
|
|
} break;
|
|
case 10: {
|
|
Sign = 0;
|
|
for (x = 0; x < yyleng; x++)
|
|
if (yytext[x] == '-' || yytext[x] == '+') Sign = (Sign == (yytext[x] == '+'));
|
|
return (SIGN);
|
|
/* Sign is TRUE if the sign-string
|
|
represents a '-'. Otherwise Sign
|
|
is FALSE */
|
|
} break;
|
|
case 11: {
|
|
strcpy(Last_var, (char *)yytext);
|
|
return (VAR);
|
|
} break;
|
|
case 12: {
|
|
return (COLON);
|
|
} break;
|
|
case 13: {
|
|
return (AR_M_OP);
|
|
} break;
|
|
case 14: {
|
|
return (RE_OP);
|
|
} break;
|
|
case 15: {
|
|
return (END_C);
|
|
} break;
|
|
case 16: {
|
|
fprintf(stderr, "LEX ERROR : %s lineno %d \n", yytext, yylineno);
|
|
} break;
|
|
case -1: break;
|
|
default: fprintf(yyout, "bad switch yylook %d", nstr);
|
|
}
|
|
return (0);
|
|
}
|
|
/* end of yylex */
|
|
int yyvstop[] = {0,
|
|
|
|
14, 0,
|
|
|
|
14, 0,
|
|
|
|
14, 0,
|
|
|
|
14, 0,
|
|
|
|
16, 0,
|
|
|
|
5, 10, 16, 0,
|
|
|
|
5, 10, 0,
|
|
|
|
13, 16, 0,
|
|
|
|
10, 16, 0,
|
|
|
|
6, 16, 0,
|
|
|
|
16, 0,
|
|
|
|
16, 0,
|
|
|
|
9, 16, 0,
|
|
|
|
12, 16, 0,
|
|
|
|
15, 16, 0,
|
|
|
|
14, 16, 0,
|
|
|
|
14, 16, 0,
|
|
|
|
11, 16, 0,
|
|
|
|
11, 16, 0,
|
|
|
|
3, 0,
|
|
|
|
4, 0,
|
|
|
|
3, 0,
|
|
|
|
10, 0,
|
|
|
|
9, 0,
|
|
|
|
1, 0,
|
|
|
|
9, 0,
|
|
|
|
14, 0,
|
|
|
|
11, 0,
|
|
|
|
11, 0,
|
|
|
|
11, 0,
|
|
|
|
2, 0,
|
|
|
|
9, 0,
|
|
|
|
11, 0,
|
|
|
|
11, 0,
|
|
|
|
11, 0,
|
|
|
|
8, 0,
|
|
|
|
7, 0, 0};
|
|
#define YYTYPE char
|
|
struct yywork {
|
|
YYTYPE verify, advance;
|
|
} yycrank[] = {
|
|
0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 1, 7,
|
|
9, 23, 9, 23, 23, 23, 23, 23, 0, 0, 6, 7, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 23,
|
|
1, 5, 23, 23, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 1, 8, 1, 9, 1, 10, 4, 22, 1, 11,
|
|
1, 12, 1, 13, 12, 25, 6, 23, 2, 8, 6, 23, 2, 10, 22, 34, 2, 11, 2, 12, 0, 0, 1, 14,
|
|
1, 15, 1, 16, 1, 17, 0, 0, 3, 20, 16, 29, 1, 18, 1, 18, 2, 14, 2, 15, 1, 18, 2, 17,
|
|
3, 20, 3, 21, 1, 18, 24, 28, 0, 0, 0, 0, 1, 19, 1, 18, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 3, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 3, 20, 24, 28,
|
|
0, 0, 0, 0, 0, 0, 3, 20, 11, 24, 11, 24, 11, 24, 11, 24, 11, 24, 11, 24, 11, 24, 11, 24,
|
|
11, 24, 11, 24, 0, 0, 3, 20, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 3, 20, 0, 0, 0, 0,
|
|
3, 20, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0, 0, 0, 0, 3, 20, 3, 20, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 26, 3, 20, 13, 27, 13, 27, 13, 27, 13, 27,
|
|
13, 27, 13, 27, 13, 27, 13, 27, 13, 27, 13, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 28, 35, 0, 0, 28, 35, 0, 0, 13, 28, 28, 36, 28, 36, 28, 36, 28, 36, 28, 36, 28, 36,
|
|
28, 36, 28, 36, 28, 36, 28, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36,
|
|
35, 36, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 13, 28, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0,
|
|
18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0,
|
|
18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0,
|
|
18, 30, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0,
|
|
0, 0, 18, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
|
|
18, 0, 18, 31, 18, 0, 18, 0, 18, 0, 0, 0, 18, 30, 18, 30, 0, 0, 0, 0, 18, 30, 0, 0,
|
|
0, 0, 0, 0, 18, 30, 0, 0, 0, 0, 0, 0, 18, 30, 18, 30, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 30, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
|
|
0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 18, 0, 19, 0, 19, 0, 19, 0,
|
|
19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0,
|
|
19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0,
|
|
19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 19, 0, 0, 0, 19, 0, 19, 0, 19, 0,
|
|
0, 0, 19, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 33, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
19, 0, 0, 0, 0, 0, 19, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0,
|
|
30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0,
|
|
30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0,
|
|
30, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0,
|
|
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 30, 0, 30, 0, 0, 0, 30, 0, 30, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
|
|
0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 30, 0, 31, 0,
|
|
31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0,
|
|
31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0,
|
|
31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 37, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 31, 0, 0, 0, 0, 0, 31, 37, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 31, 0, 31, 0, 31, 0,
|
|
31, 0, 31, 0, 0, 0, 31, 37, 31, 37, 0, 0, 0, 0, 31, 37, 0, 0, 0, 0, 0, 0, 31, 37,
|
|
0, 0, 0, 0, 0, 0, 31, 37, 31, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 31, 37, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 31, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0,
|
|
32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0,
|
|
32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0, 32, 0,
|
|
32, 0, 32, 0, 32, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 32, 0,
|
|
32, 0, 32, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 0, 0, 32, 0, 32, 0, 32, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 38, 0, 0, 0, 0,
|
|
0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
|
|
32, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0,
|
|
33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0,
|
|
33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0,
|
|
0, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
|
|
33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 33, 0, 37, 0, 37, 0, 37, 0, 37, 0,
|
|
37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0,
|
|
37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0,
|
|
37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
|
|
37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 40, 37, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
|
|
0, 0, 0, 0, 37, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0,
|
|
38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0,
|
|
38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0,
|
|
38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
38, 41, 38, 0, 0, 0, 38, 0, 38, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
|
|
0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 38, 0, 39, 0, 39, 0,
|
|
39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0,
|
|
39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0,
|
|
39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 42, 39, 0, 0, 0, 39, 0, 39, 0,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 39, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
|
struct yysvf yysvec[] = {0,
|
|
0,
|
|
0,
|
|
yycrank + -1,
|
|
0,
|
|
yyvstop + 1,
|
|
yycrank + -10,
|
|
yysvec + 1,
|
|
yyvstop + 3,
|
|
yycrank + -63,
|
|
0,
|
|
yyvstop + 5,
|
|
yycrank + -4,
|
|
yysvec + 3,
|
|
yyvstop + 7,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 9,
|
|
yycrank + 8,
|
|
0,
|
|
yyvstop + 11,
|
|
yycrank + 0,
|
|
yysvec + 6,
|
|
yyvstop + 15,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 18,
|
|
yycrank + 3,
|
|
yysvec + 6,
|
|
yyvstop + 21,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 24,
|
|
yycrank + 64,
|
|
0,
|
|
yyvstop + 27,
|
|
yycrank + 8,
|
|
0,
|
|
yyvstop + 29,
|
|
yycrank + 104,
|
|
0,
|
|
yyvstop + 31,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 34,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 37,
|
|
yycrank + 4,
|
|
0,
|
|
yyvstop + 40,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 43,
|
|
yycrank + -205,
|
|
0,
|
|
yyvstop + 46,
|
|
yycrank + -332,
|
|
yysvec + 18,
|
|
yyvstop + 49,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 52,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 54,
|
|
yycrank + 8,
|
|
0,
|
|
yyvstop + 56,
|
|
yycrank + 5,
|
|
yysvec + 6,
|
|
yyvstop + 58,
|
|
yycrank + 6,
|
|
yysvec + 11,
|
|
yyvstop + 60,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 62,
|
|
yycrank + 0,
|
|
yysvec + 11,
|
|
0,
|
|
yycrank + 0,
|
|
yysvec + 13,
|
|
yyvstop + 64,
|
|
yycrank + 126,
|
|
0,
|
|
0,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 66,
|
|
yycrank + -459,
|
|
yysvec + 18,
|
|
yyvstop + 68,
|
|
yycrank + -586,
|
|
0,
|
|
0,
|
|
yycrank + -713,
|
|
yysvec + 18,
|
|
yyvstop + 70,
|
|
yycrank + -840,
|
|
yysvec + 18,
|
|
yyvstop + 72,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 74,
|
|
yycrank + 136,
|
|
0,
|
|
0,
|
|
yycrank + 0,
|
|
yysvec + 35,
|
|
yyvstop + 76,
|
|
yycrank + -967,
|
|
yysvec + 31,
|
|
0,
|
|
yycrank + -1094,
|
|
yysvec + 18,
|
|
yyvstop + 78,
|
|
yycrank + -1221,
|
|
yysvec + 18,
|
|
yyvstop + 80,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 82,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 84,
|
|
yycrank + 0,
|
|
0,
|
|
yyvstop + 86,
|
|
0,
|
|
0,
|
|
0};
|
|
struct yywork *yytop = yycrank + 1348;
|
|
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, '+', '#', '#', '0', '0', '0', '0', '0', '0', '0', '0', '0',
|
|
'0', 01, 01, '<', 01, '<', 01, '#', 'A', 'B', 'B', 'B', 'E', 'B', 'B', 'B', 'I', 'B', 'B',
|
|
'B', 'M', 'N', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'X', 'B', 'B', '#', 01, '#', '#',
|
|
'#', 01, 'A', 'B', 'B', 'B', 'E', 'B', 'B', 'B', 'I', 'B', 'B', 'B', 'M', 'N', 'B', 'B', 'B',
|
|
'B', 'B', 'B', 'B', 'B', 'B', 'X', 'B', 'B', '#', 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};
|
|
#ident "$Header: /disk/disk3/cvsroot/medley/src/lplexyy.c,v 1.2 1999/01/03 02:07:18 sybalsky Exp $"
|
|
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;
|
|
int 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 */
|
|
int yyinput() { return (input()); }
|
|
void yyoutput(int c) { output(c); }
|
|
void yyunput(int c) { unput(c); }
|
|
|
|
int 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
|
|
}
|
|
}
|
|
#endif
|