aboutsummaryrefslogtreecommitdiff
path: root/fixed/lex_yy.c
diff options
context:
space:
mode:
Diffstat (limited to 'fixed/lex_yy.c')
-rw-r--r--fixed/lex_yy.c923
1 files changed, 923 insertions, 0 deletions
diff --git a/fixed/lex_yy.c b/fixed/lex_yy.c
new file mode 100644
index 00000000..ab73ea6c
--- /dev/null
+++ b/fixed/lex_yy.c
@@ -0,0 +1,923 @@
1# include "stdio.h"
2# define U(x) x
3# define NLSTATE yyprevious=YYNEWLINE
4# define BEGIN yybgin = yysvec + 1 +
5# define INITIAL 0
6# define YYLERR yysvec
7# define YYSTATE (yyestate-yysvec-1)
8# define YYOPTIM 1
9# define YYLMAX BUFSIZ
10# define output(c) putc(c,yyout)
11# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
12# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
13# define yymore() (yymorfg=1)
14# define ECHO fprintf(yyout, "%s",yytext)
15# define REJECT { nstr = yyreject(); goto yyfussy;}
16int yyleng; extern char yytext[];
17int yymorfg;
18extern char *yysptr, yysbuf[];
19int yytchar;
20FILE *yyin = {NULL}, *yyout = {NULL};
21extern int yylineno;
22struct yysvf {
23 struct yywork *yystoff;
24 struct yysvf *yyother;
25 int *yystops;};
26struct yysvf *yyestate;
27extern struct yysvf yysvec[], *yybgin;
28#include <stdlib.h>
29#include <string.h>
30
31#include "opcode.h"
32#include "hash.h"
33#include "inout.h"
34#include "table.h"
35#include "y_tab.h"
36
37#undef input
38#undef unput
39
40static Input input;
41static Unput unput;
42
43void lua_setinput (Input fn)
44{
45 input = fn;
46}
47
48void lua_setunput (Unput fn)
49{
50 unput = fn;
51}
52
53char *lua_lasttext (void)
54{
55 return yytext;
56}
57
58# define YYNEWLINE 10
59yylex(){
60int nstr; extern int yyprevious;
61while((nstr = yylook()) >= 0)
62yyfussy: switch(nstr){
63case 0:
64if(yywrap()) return(0); break;
65case 1:
66 ;
67break;
68case 2:
69 {yylval.vInt = 1; return DEBUG;}
70break;
71case 3:
72 {yylval.vInt = 0; return DEBUG;}
73break;
74case 4:
75 lua_linenumber++;
76break;
77case 5:
78 ;
79break;
80case 6:
81 return LOCAL;
82break;
83case 7:
84 return IF;
85break;
86case 8:
87 return THEN;
88break;
89case 9:
90 return ELSE;
91break;
92case 10:
93 return ELSEIF;
94break;
95case 11:
96 return WHILE;
97break;
98case 12:
99 return DO;
100break;
101case 13:
102 return REPEAT;
103break;
104case 14:
105 return UNTIL;
106break;
107case 15:
108 {
109 yylval.vWord = lua_nfile-1;
110 return FUNCTION;
111 }
112break;
113case 16:
114 return END;
115break;
116case 17:
117 return RETURN;
118break;
119case 18:
120 return LOCAL;
121break;
122case 19:
123 return NIL;
124break;
125case 20:
126 return AND;
127break;
128case 21:
129 return OR;
130break;
131case 22:
132 return NOT;
133break;
134case 23:
135 return NE;
136break;
137case 24:
138 return LE;
139break;
140case 25:
141 return GE;
142break;
143case 26:
144 return CONC;
145break;
146case 27:
147 case 28:
148 {
149 yylval.vWord = lua_findenclosedconstant (yytext);
150 return STRING;
151 }
152break;
153case 29:
154case 30:
155case 31:
156case 32:
157{
158 yylval.vFloat = atof(yytext);
159 return NUMBER;
160 }
161break;
162case 33:
163 {
164 yylval.vWord = lua_findsymbol (yytext);
165 return NAME;
166 }
167break;
168case 34:
169 return *yytext;
170break;
171case -1:
172break;
173default:
174fprintf(yyout,"bad switch yylook %d",nstr);
175} return(0); }
176/* end of yylex */
177int yyvstop[] = {
1780,
179
1801,
1810,
182
1831,
1840,
185
18634,
1870,
188
1891,
19034,
1910,
192
1934,
1940,
195
19634,
1970,
198
19934,
2000,
201
20234,
2030,
204
20534,
2060,
207
20829,
20934,
2100,
211
21234,
2130,
214
21534,
2160,
217
21833,
21934,
2200,
221
22233,
22334,
2240,
225
22633,
22734,
2280,
229
23033,
23134,
2320,
233
23433,
23534,
2360,
237
23833,
23934,
2400,
241
24233,
24334,
2440,
245
24633,
24734,
2480,
249
25033,
25134,
2520,
253
25433,
25534,
2560,
257
25833,
25934,
2600,
261
26233,
26334,
2640,
265
26633,
26734,
2680,
269
27034,
2710,
272
27334,
2740,
275
2761,
2770,
278
27927,
2800,
281
28228,
2830,
284
2855,
2860,
287
28826,
2890,
290
29130,
2920,
293
29429,
2950,
296
29729,
2980,
299
30024,
3010,
302
30325,
3040,
305
30633,
3070,
308
30933,
3100,
311
31212,
31333,
3140,
315
31633,
3170,
318
31933,
3200,
321
32233,
3230,
324
3257,
32633,
3270,
328
32933,
3300,
331
33233,
3330,
334
33533,
3360,
337
33821,
33933,
3400,
341
34233,
3430,
344
34533,
3460,
347
34833,
3490,
350
35133,
3520,
353
35423,
3550,
356
35729,
35830,
3590,
360
36131,
3620,
363
36420,
36533,
3660,
367
36833,
3690,
370
37116,
37233,
3730,
374
37533,
3760,
377
37833,
3790,
380
38119,
38233,
3830,
384
38522,
38633,
3870,
388
38933,
3900,
391
39233,
3930,
394
39533,
3960,
397
39833,
3990,
400
40133,
4020,
403
40432,
4050,
406
4079,
40833,
4090,
410
41133,
4120,
413
41433,
4150,
416
41733,
4180,
419
42033,
4210,
422
4238,
42433,
4250,
426
42733,
4280,
429
43033,
4310,
432
43331,
43432,
4350,
436
43733,
4380,
439
44033,
4410,
442
4436,
44418,
44533,
4460,
447
44833,
4490,
450
45133,
4520,
453
45414,
45533,
4560,
457
45811,
45933,
4600,
461
46210,
46333,
4640,
465
46633,
4670,
468
46913,
47033,
4710,
472
47317,
47433,
4750,
476
4772,
4780,
479
48033,
4810,
482
48315,
48433,
4850,
486
4873,
4880,
4890};
490# define YYTYPE char
491struct yywork { YYTYPE verify, advance; } yycrank[] = {
4920,0, 0,0, 1,3, 0,0,
4930,0, 0,0, 0,0, 0,0,
4940,0, 0,0, 1,4, 1,5,
4956,29, 4,28, 0,0, 0,0,
4960,0, 0,0, 7,31, 0,0,
4976,29, 6,29, 0,0, 0,0,
4980,0, 0,0, 7,31, 7,31,
4990,0, 0,0, 0,0, 0,0,
5000,0, 0,0, 0,0, 1,6,
5014,28, 0,0, 0,0, 0,0,
5021,7, 0,0, 0,0, 0,0,
5031,3, 6,30, 1,8, 1,9,
5040,0, 1,10, 6,29, 7,31,
5058,33, 0,0, 6,29, 0,0,
5067,32, 0,0, 0,0, 6,29,
5077,31, 1,11, 0,0, 1,12,
5082,27, 7,31, 1,13, 11,39,
50912,40, 1,13, 26,56, 0,0,
5100,0, 2,8, 2,9, 0,0,
5116,29, 0,0, 0,0, 6,29,
5120,0, 0,0, 7,31, 0,0,
5130,0, 7,31, 0,0, 0,0,
5142,11, 0,0, 2,12, 0,0,
5150,0, 0,0, 0,0, 0,0,
5160,0, 0,0, 1,14, 0,0,
5170,0, 1,15, 1,16, 1,17,
5180,0, 22,52, 1,18, 18,47,
51923,53, 1,19, 42,63, 1,20,
5201,21, 25,55, 14,42, 1,22,
52115,43, 1,23, 1,24, 16,44,
5221,25, 16,45, 17,46, 19,48,
52321,51, 2,14, 20,49, 1,26,
5242,15, 2,16, 2,17, 24,54,
52520,50, 2,18, 44,64, 45,65,
5262,19, 46,66, 2,20, 2,21,
52727,57, 48,67, 2,22, 49,68,
5282,23, 2,24, 50,69, 2,25,
52952,70, 53,72, 27,58, 54,73,
53052,71, 9,34, 2,26, 9,35,
5319,35, 9,35, 9,35, 9,35,
5329,35, 9,35, 9,35, 9,35,
5339,35, 10,36, 55,74, 10,37,
53410,37, 10,37, 10,37, 10,37,
53510,37, 10,37, 10,37, 10,37,
53610,37, 57,75, 58,76, 64,80,
53766,81, 67,82, 70,83, 71,84,
53872,85, 73,86, 74,87, 10,38,
53910,38, 38,61, 10,38, 38,61,
54075,88, 76,89, 38,62, 38,62,
54138,62, 38,62, 38,62, 38,62,
54238,62, 38,62, 38,62, 38,62,
54380,92, 81,93, 13,41, 13,41,
54413,41, 13,41, 13,41, 13,41,
54513,41, 13,41, 13,41, 13,41,
54682,94, 83,95, 84,96, 10,38,
54710,38, 86,97, 10,38, 13,41,
54813,41, 13,41, 13,41, 13,41,
54913,41, 13,41, 13,41, 13,41,
55013,41, 13,41, 13,41, 13,41,
55113,41, 13,41, 13,41, 13,41,
55213,41, 13,41, 13,41, 13,41,
55313,41, 13,41, 13,41, 13,41,
55413,41, 87,98, 88,99, 60,79,
55560,79, 13,41, 60,79, 13,41,
55613,41, 13,41, 13,41, 13,41,
55713,41, 13,41, 13,41, 13,41,
55813,41, 13,41, 13,41, 13,41,
55913,41, 13,41, 13,41, 13,41,
56013,41, 13,41, 13,41, 13,41,
56113,41, 13,41, 13,41, 13,41,
56213,41, 33,33, 89,100, 60,79,
56360,79, 92,101, 60,79, 93,102,
56495,103, 33,33, 33,0, 96,104,
56599,105, 100,106, 102,107, 106,108,
566107,109, 35,35, 35,35, 35,35,
56735,35, 35,35, 35,35, 35,35,
56835,35, 35,35, 35,35, 108,110,
5690,0, 0,0, 0,0, 0,0,
5700,0, 0,0, 33,33, 0,0,
5710,0, 35,59, 35,59, 33,33,
57235,59, 0,0, 0,0, 33,33,
5730,0, 0,0, 0,0, 0,0,
57433,33, 0,0, 0,0, 0,0,
5750,0, 36,60, 36,60, 36,60,
57636,60, 36,60, 36,60, 36,60,
57736,60, 36,60, 36,60, 0,0,
5780,0, 33,33, 0,0, 0,0,
57933,33, 35,59, 35,59, 0,0,
58035,59, 36,38, 36,38, 59,77,
58136,38, 59,77, 0,0, 0,0,
58259,78, 59,78, 59,78, 59,78,
58359,78, 59,78, 59,78, 59,78,
58459,78, 59,78, 61,62, 61,62,
58561,62, 61,62, 61,62, 61,62,
58661,62, 61,62, 61,62, 61,62,
5870,0, 0,0, 0,0, 0,0,
5880,0, 36,38, 36,38, 0,0,
58936,38, 77,78, 77,78, 77,78,
59077,78, 77,78, 77,78, 77,78,
59177,78, 77,78, 77,78, 79,90,
5920,0, 79,90, 0,0, 0,0,
59379,91, 79,91, 79,91, 79,91,
59479,91, 79,91, 79,91, 79,91,
59579,91, 79,91, 90,91, 90,91,
59690,91, 90,91, 90,91, 90,91,
59790,91, 90,91, 90,91, 90,91,
5980,0};
599struct yysvf yysvec[] = {
6000, 0, 0,
601yycrank+-1, 0, yyvstop+1,
602yycrank+-28, yysvec+1, yyvstop+3,
603yycrank+0, 0, yyvstop+5,
604yycrank+4, 0, yyvstop+7,
605yycrank+0, 0, yyvstop+10,
606yycrank+-11, 0, yyvstop+12,
607yycrank+-17, 0, yyvstop+14,
608yycrank+7, 0, yyvstop+16,
609yycrank+107, 0, yyvstop+18,
610yycrank+119, 0, yyvstop+20,
611yycrank+6, 0, yyvstop+23,
612yycrank+7, 0, yyvstop+25,
613yycrank+158, 0, yyvstop+27,
614yycrank+4, yysvec+13, yyvstop+30,
615yycrank+5, yysvec+13, yyvstop+33,
616yycrank+11, yysvec+13, yyvstop+36,
617yycrank+5, yysvec+13, yyvstop+39,
618yycrank+5, yysvec+13, yyvstop+42,
619yycrank+12, yysvec+13, yyvstop+45,
620yycrank+21, yysvec+13, yyvstop+48,
621yycrank+10, yysvec+13, yyvstop+51,
622yycrank+4, yysvec+13, yyvstop+54,
623yycrank+4, yysvec+13, yyvstop+57,
624yycrank+21, yysvec+13, yyvstop+60,
625yycrank+9, yysvec+13, yyvstop+63,
626yycrank+9, 0, yyvstop+66,
627yycrank+40, 0, yyvstop+68,
628yycrank+0, yysvec+4, yyvstop+70,
629yycrank+0, yysvec+6, 0,
630yycrank+0, 0, yyvstop+72,
631yycrank+0, yysvec+7, 0,
632yycrank+0, 0, yyvstop+74,
633yycrank+-280, 0, yyvstop+76,
634yycrank+0, 0, yyvstop+78,
635yycrank+249, 0, yyvstop+80,
636yycrank+285, 0, yyvstop+82,
637yycrank+0, yysvec+10, yyvstop+84,
638yycrank+146, 0, 0,
639yycrank+0, 0, yyvstop+86,
640yycrank+0, 0, yyvstop+88,
641yycrank+0, yysvec+13, yyvstop+90,
642yycrank+10, yysvec+13, yyvstop+92,
643yycrank+0, yysvec+13, yyvstop+94,
644yycrank+19, yysvec+13, yyvstop+97,
645yycrank+35, yysvec+13, yyvstop+99,
646yycrank+27, yysvec+13, yyvstop+101,
647yycrank+0, yysvec+13, yyvstop+103,
648yycrank+42, yysvec+13, yyvstop+106,
649yycrank+35, yysvec+13, yyvstop+108,
650yycrank+30, yysvec+13, yyvstop+110,
651yycrank+0, yysvec+13, yyvstop+112,
652yycrank+36, yysvec+13, yyvstop+115,
653yycrank+48, yysvec+13, yyvstop+117,
654yycrank+35, yysvec+13, yyvstop+119,
655yycrank+61, yysvec+13, yyvstop+121,
656yycrank+0, 0, yyvstop+123,
657yycrank+76, 0, 0,
658yycrank+67, 0, 0,
659yycrank+312, 0, 0,
660yycrank+183, yysvec+36, yyvstop+125,
661yycrank+322, 0, 0,
662yycrank+0, yysvec+61, yyvstop+128,
663yycrank+0, yysvec+13, yyvstop+130,
664yycrank+78, yysvec+13, yyvstop+133,
665yycrank+0, yysvec+13, yyvstop+135,
666yycrank+81, yysvec+13, yyvstop+138,
667yycrank+84, yysvec+13, yyvstop+140,
668yycrank+0, yysvec+13, yyvstop+142,
669yycrank+0, yysvec+13, yyvstop+145,
670yycrank+81, yysvec+13, yyvstop+148,
671yycrank+66, yysvec+13, yyvstop+150,
672yycrank+74, yysvec+13, yyvstop+152,
673yycrank+80, yysvec+13, yyvstop+154,
674yycrank+78, yysvec+13, yyvstop+156,
675yycrank+94, 0, 0,
676yycrank+93, 0, 0,
677yycrank+341, 0, 0,
678yycrank+0, yysvec+77, yyvstop+158,
679yycrank+356, 0, 0,
680yycrank+99, yysvec+13, yyvstop+160,
681yycrank+89, yysvec+13, yyvstop+163,
682yycrank+108, yysvec+13, yyvstop+165,
683yycrank+120, yysvec+13, yyvstop+167,
684yycrank+104, yysvec+13, yyvstop+169,
685yycrank+0, yysvec+13, yyvstop+171,
686yycrank+113, yysvec+13, yyvstop+174,
687yycrank+148, yysvec+13, yyvstop+176,
688yycrank+133, 0, 0,
689yycrank+181, 0, 0,
690yycrank+366, 0, 0,
691yycrank+0, yysvec+90, yyvstop+178,
692yycrank+183, yysvec+13, yyvstop+181,
693yycrank+182, yysvec+13, yyvstop+183,
694yycrank+0, yysvec+13, yyvstop+185,
695yycrank+172, yysvec+13, yyvstop+189,
696yycrank+181, yysvec+13, yyvstop+191,
697yycrank+0, yysvec+13, yyvstop+193,
698yycrank+0, yysvec+13, yyvstop+196,
699yycrank+189, 0, 0,
700yycrank+195, 0, 0,
701yycrank+0, yysvec+13, yyvstop+199,
702yycrank+183, yysvec+13, yyvstop+202,
703yycrank+0, yysvec+13, yyvstop+204,
704yycrank+0, yysvec+13, yyvstop+207,
705yycrank+0, 0, yyvstop+210,
706yycrank+178, 0, 0,
707yycrank+186, yysvec+13, yyvstop+212,
708yycrank+204, 0, 0,
709yycrank+0, yysvec+13, yyvstop+214,
710yycrank+0, 0, yyvstop+217,
7110, 0, 0};
712struct yywork *yytop = yycrank+423;
713struct yysvf *yybgin = yysvec+1;
714char yymatch[] = {
71500 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
71601 ,011 ,012 ,01 ,01 ,01 ,01 ,01 ,
71701 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
71801 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
719011 ,01 ,'"' ,01 ,01 ,01 ,01 ,047 ,
72001 ,01 ,01 ,'+' ,01 ,'+' ,01 ,01 ,
721'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,
722'0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 ,
72301 ,'A' ,'A' ,'A' ,'D' ,'D' ,'A' ,'D' ,
724'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
725'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
726'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,'A' ,
72701 ,'A' ,'A' ,'A' ,'D' ,'D' ,'A' ,'D' ,
728'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
729'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
730'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,01 ,
7310};
732char yyextra[] = {
7330,0,0,0,0,0,0,0,
7340,0,0,0,0,0,0,0,
7350,0,0,0,0,0,0,0,
7360,0,0,0,0,0,0,0,
7370,0,0,0,0,0,0,0,
7380};
739#ifndef lint
740static char ncform_sccsid[] = "@(#)ncform 1.6 88/02/08 SMI"; /* from S5R2 1.2 */
741#endif
742
743int yylineno =1;
744# define YYU(x) x
745# define NLSTATE yyprevious=YYNEWLINE
746char yytext[YYLMAX];
747struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
748char yysbuf[YYLMAX];
749char *yysptr = yysbuf;
750int *yyfnd;
751extern struct yysvf *yyestate;
752int yyprevious = YYNEWLINE;
753yylook(){
754 register struct yysvf *yystate, **lsp;
755 register struct yywork *yyt;
756 struct yysvf *yyz;
757 int yych, yyfirst;
758 struct yywork *yyr;
759# ifdef LEXDEBUG
760 int debug;
761# endif
762 char *yylastch;
763 /* start off machines */
764# ifdef LEXDEBUG
765 debug = 0;
766# endif
767 yyfirst=1;
768 if (!yymorfg)
769 yylastch = yytext;
770 else {
771 yymorfg=0;
772 yylastch = yytext+yyleng;
773 }
774 for(;;){
775 lsp = yylstate;
776 yyestate = yystate = yybgin;
777 if (yyprevious==YYNEWLINE) yystate++;
778 for (;;){
779# ifdef LEXDEBUG
780 if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
781# endif
782 yyt = yystate->yystoff;
783 if(yyt == yycrank && !yyfirst){ /* may not be any transitions */
784 yyz = yystate->yyother;
785 if(yyz == 0)break;
786 if(yyz->yystoff == yycrank)break;
787 }
788 *yylastch++ = yych = input();
789 yyfirst=0;
790 tryagain:
791# ifdef LEXDEBUG
792 if(debug){
793 fprintf(yyout,"char ");
794 allprint(yych);
795 putchar('\n');
796 }
797# endif
798 yyr = yyt;
799 if ( (int)yyt > (int)yycrank){
800 yyt = yyr + yych;
801 if (yyt <= yytop && yyt->verify+yysvec == yystate){
802 if(yyt->advance+yysvec == YYLERR) /* error transitions */
803 {unput(*--yylastch);break;}
804 *lsp++ = yystate = yyt->advance+yysvec;
805 goto contin;
806 }
807 }
808# ifdef YYOPTIM
809 else if((int)yyt < (int)yycrank) { /* r < yycrank */
810 yyt = yyr = yycrank+(yycrank-yyt);
811# ifdef LEXDEBUG
812 if(debug)fprintf(yyout,"compressed state\n");
813# endif
814 yyt = yyt + yych;
815 if(yyt <= yytop && yyt->verify+yysvec == yystate){
816 if(yyt->advance+yysvec == YYLERR) /* error transitions */
817 {unput(*--yylastch);break;}
818 *lsp++ = yystate = yyt->advance+yysvec;
819 goto contin;
820 }
821 yyt = yyr + YYU(yymatch[yych]);
822# ifdef LEXDEBUG
823 if(debug){
824 fprintf(yyout,"try fall back character ");
825 allprint(YYU(yymatch[yych]));
826 putchar('\n');
827 }
828# endif
829 if(yyt <= yytop && yyt->verify+yysvec == yystate){
830 if(yyt->advance+yysvec == YYLERR) /* error transition */
831 {unput(*--yylastch);break;}
832 *lsp++ = yystate = yyt->advance+yysvec;
833 goto contin;
834 }
835 }
836 if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
837# ifdef LEXDEBUG
838 if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
839# endif
840 goto tryagain;
841 }
842# endif
843 else
844 {unput(*--yylastch);break;}
845 contin:
846# ifdef LEXDEBUG
847 if(debug){
848 fprintf(yyout,"state %d char ",yystate-yysvec-1);
849 allprint(yych);
850 putchar('\n');
851 }
852# endif
853 ;
854 }
855# ifdef LEXDEBUG
856 if(debug){
857 fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
858 allprint(yych);
859 putchar('\n');
860 }
861# endif
862 while (lsp-- > yylstate){
863 *yylastch-- = 0;
864 if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
865 yyolsp = lsp;
866 if(yyextra[*yyfnd]){ /* must backup */
867 while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
868 lsp--;
869 unput(*yylastch--);
870 }
871 }
872 yyprevious = YYU(*yylastch);
873 yylsp = lsp;
874 yyleng = yylastch-yytext+1;
875 yytext[yyleng] = 0;
876# ifdef LEXDEBUG
877 if(debug){
878 fprintf(yyout,"\nmatch ");
879 sprint(yytext);
880 fprintf(yyout," action %d\n",*yyfnd);
881 }
882# endif
883 return(*yyfnd++);
884 }
885 unput(*yylastch);
886 }
887 if (yytext[0] == 0 /* && feof(yyin) */)
888 {
889 yysptr=yysbuf;
890 return(0);
891 }
892 yyprevious = yytext[0] = input();
893 if (yyprevious>0)
894 output(yyprevious);
895 yylastch=yytext;
896# ifdef LEXDEBUG
897 if(debug)putchar('\n');
898# endif
899 }
900 }
901yyback(p, m)
902 int *p;
903{
904if (p==0) return(0);
905while (*p)
906 {
907 if (*p++ == m)
908 return(1);
909 }
910return(0);
911}
912 /* the following are only used in the lex library */
913yyinput(){
914 return(input());
915 }
916yyoutput(c)
917 int c; {
918 output(c);
919 }
920yyunput(c)
921 int c; {
922 unput(c);
923 }