diff options
author | The Lua team <lua@tecgraf.puc-rio.br> | 2003-10-09 23:44:30 -0300 |
---|---|---|
committer | The Lua team <lua@tecgraf.puc-rio.br> | 2003-10-09 23:44:30 -0300 |
commit | b9dde086db57ee6664ec1aedbec04c54857f9250 (patch) | |
tree | f2f23a63f14744c612f4cf2e52497352a3d8ef53 /fixed/lex_yy.c | |
parent | cd05d9c5cb69020c069f037ba7f243f705d0a48a (diff) | |
download | lua-1.0.tar.gz lua-1.0.tar.bz2 lua-1.0.zip |
This is Lua 1.0. It was never publicly released. This code is a snapshot ofv1.0
the status of Lua on 28 Jul 1993. It is distributed for historical curiosity
to celebrate 10 years of Lua and is hereby placed in the public domain.
There is no documentation, except the test programs. The manual for Lua 1.1
probably works for this version as well.
The source files for the lexer and parser have been lost: all that is left is
the output of lex and yacc. A grammar can be found inside y_tab.c in yyreds.
The code compiles and runs in RedHat 5.2 with gcc 2.7.2.3. It may not run in
newer systems, because it assumes that stdin and stdout are constants, though
ANSI C does not promise they are. If make fails, try using the fixed modules
provided in the "fixed" directory. To see the differences (which are really
quite minor), do "make diff".
To see Lua 1.0 in action, do "make test". (The last test raises an error on
purpose.)
Enjoy!
-- The Lua team, lua@tecgraf.puc-rio.br
Diffstat (limited to '')
-rw-r--r-- | fixed/lex_yy.c | 923 |
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;} | ||
16 | int yyleng; extern char yytext[]; | ||
17 | int yymorfg; | ||
18 | extern char *yysptr, yysbuf[]; | ||
19 | int yytchar; | ||
20 | FILE *yyin = {NULL}, *yyout = {NULL}; | ||
21 | extern int yylineno; | ||
22 | struct yysvf { | ||
23 | struct yywork *yystoff; | ||
24 | struct yysvf *yyother; | ||
25 | int *yystops;}; | ||
26 | struct yysvf *yyestate; | ||
27 | extern 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 | |||
40 | static Input input; | ||
41 | static Unput unput; | ||
42 | |||
43 | void lua_setinput (Input fn) | ||
44 | { | ||
45 | input = fn; | ||
46 | } | ||
47 | |||
48 | void lua_setunput (Unput fn) | ||
49 | { | ||
50 | unput = fn; | ||
51 | } | ||
52 | |||
53 | char *lua_lasttext (void) | ||
54 | { | ||
55 | return yytext; | ||
56 | } | ||
57 | |||
58 | # define YYNEWLINE 10 | ||
59 | yylex(){ | ||
60 | int nstr; extern int yyprevious; | ||
61 | while((nstr = yylook()) >= 0) | ||
62 | yyfussy: switch(nstr){ | ||
63 | case 0: | ||
64 | if(yywrap()) return(0); break; | ||
65 | case 1: | ||
66 | ; | ||
67 | break; | ||
68 | case 2: | ||
69 | {yylval.vInt = 1; return DEBUG;} | ||
70 | break; | ||
71 | case 3: | ||
72 | {yylval.vInt = 0; return DEBUG;} | ||
73 | break; | ||
74 | case 4: | ||
75 | lua_linenumber++; | ||
76 | break; | ||
77 | case 5: | ||
78 | ; | ||
79 | break; | ||
80 | case 6: | ||
81 | return LOCAL; | ||
82 | break; | ||
83 | case 7: | ||
84 | return IF; | ||
85 | break; | ||
86 | case 8: | ||
87 | return THEN; | ||
88 | break; | ||
89 | case 9: | ||
90 | return ELSE; | ||
91 | break; | ||
92 | case 10: | ||
93 | return ELSEIF; | ||
94 | break; | ||
95 | case 11: | ||
96 | return WHILE; | ||
97 | break; | ||
98 | case 12: | ||
99 | return DO; | ||
100 | break; | ||
101 | case 13: | ||
102 | return REPEAT; | ||
103 | break; | ||
104 | case 14: | ||
105 | return UNTIL; | ||
106 | break; | ||
107 | case 15: | ||
108 | { | ||
109 | yylval.vWord = lua_nfile-1; | ||
110 | return FUNCTION; | ||
111 | } | ||
112 | break; | ||
113 | case 16: | ||
114 | return END; | ||
115 | break; | ||
116 | case 17: | ||
117 | return RETURN; | ||
118 | break; | ||
119 | case 18: | ||
120 | return LOCAL; | ||
121 | break; | ||
122 | case 19: | ||
123 | return NIL; | ||
124 | break; | ||
125 | case 20: | ||
126 | return AND; | ||
127 | break; | ||
128 | case 21: | ||
129 | return OR; | ||
130 | break; | ||
131 | case 22: | ||
132 | return NOT; | ||
133 | break; | ||
134 | case 23: | ||
135 | return NE; | ||
136 | break; | ||
137 | case 24: | ||
138 | return LE; | ||
139 | break; | ||
140 | case 25: | ||
141 | return GE; | ||
142 | break; | ||
143 | case 26: | ||
144 | return CONC; | ||
145 | break; | ||
146 | case 27: | ||
147 | case 28: | ||
148 | { | ||
149 | yylval.vWord = lua_findenclosedconstant (yytext); | ||
150 | return STRING; | ||
151 | } | ||
152 | break; | ||
153 | case 29: | ||
154 | case 30: | ||
155 | case 31: | ||
156 | case 32: | ||
157 | { | ||
158 | yylval.vFloat = atof(yytext); | ||
159 | return NUMBER; | ||
160 | } | ||
161 | break; | ||
162 | case 33: | ||
163 | { | ||
164 | yylval.vWord = lua_findsymbol (yytext); | ||
165 | return NAME; | ||
166 | } | ||
167 | break; | ||
168 | case 34: | ||
169 | return *yytext; | ||
170 | break; | ||
171 | case -1: | ||
172 | break; | ||
173 | default: | ||
174 | fprintf(yyout,"bad switch yylook %d",nstr); | ||
175 | } return(0); } | ||
176 | /* end of yylex */ | ||
177 | int yyvstop[] = { | ||
178 | 0, | ||
179 | |||
180 | 1, | ||
181 | 0, | ||
182 | |||
183 | 1, | ||
184 | 0, | ||
185 | |||
186 | 34, | ||
187 | 0, | ||
188 | |||
189 | 1, | ||
190 | 34, | ||
191 | 0, | ||
192 | |||
193 | 4, | ||
194 | 0, | ||
195 | |||
196 | 34, | ||
197 | 0, | ||
198 | |||
199 | 34, | ||
200 | 0, | ||
201 | |||
202 | 34, | ||
203 | 0, | ||
204 | |||
205 | 34, | ||
206 | 0, | ||
207 | |||
208 | 29, | ||
209 | 34, | ||
210 | 0, | ||
211 | |||
212 | 34, | ||
213 | 0, | ||
214 | |||
215 | 34, | ||
216 | 0, | ||
217 | |||
218 | 33, | ||
219 | 34, | ||
220 | 0, | ||
221 | |||
222 | 33, | ||
223 | 34, | ||
224 | 0, | ||
225 | |||
226 | 33, | ||
227 | 34, | ||
228 | 0, | ||
229 | |||
230 | 33, | ||
231 | 34, | ||
232 | 0, | ||
233 | |||
234 | 33, | ||
235 | 34, | ||
236 | 0, | ||
237 | |||
238 | 33, | ||
239 | 34, | ||
240 | 0, | ||
241 | |||
242 | 33, | ||
243 | 34, | ||
244 | 0, | ||
245 | |||
246 | 33, | ||
247 | 34, | ||
248 | 0, | ||
249 | |||
250 | 33, | ||
251 | 34, | ||
252 | 0, | ||
253 | |||
254 | 33, | ||
255 | 34, | ||
256 | 0, | ||
257 | |||
258 | 33, | ||
259 | 34, | ||
260 | 0, | ||
261 | |||
262 | 33, | ||
263 | 34, | ||
264 | 0, | ||
265 | |||
266 | 33, | ||
267 | 34, | ||
268 | 0, | ||
269 | |||
270 | 34, | ||
271 | 0, | ||
272 | |||
273 | 34, | ||
274 | 0, | ||
275 | |||
276 | 1, | ||
277 | 0, | ||
278 | |||
279 | 27, | ||
280 | 0, | ||
281 | |||
282 | 28, | ||
283 | 0, | ||
284 | |||
285 | 5, | ||
286 | 0, | ||
287 | |||
288 | 26, | ||
289 | 0, | ||
290 | |||
291 | 30, | ||
292 | 0, | ||
293 | |||
294 | 29, | ||
295 | 0, | ||
296 | |||
297 | 29, | ||
298 | 0, | ||
299 | |||
300 | 24, | ||
301 | 0, | ||
302 | |||
303 | 25, | ||
304 | 0, | ||
305 | |||
306 | 33, | ||
307 | 0, | ||
308 | |||
309 | 33, | ||
310 | 0, | ||
311 | |||
312 | 12, | ||
313 | 33, | ||
314 | 0, | ||
315 | |||
316 | 33, | ||
317 | 0, | ||
318 | |||
319 | 33, | ||
320 | 0, | ||
321 | |||
322 | 33, | ||
323 | 0, | ||
324 | |||
325 | 7, | ||
326 | 33, | ||
327 | 0, | ||
328 | |||
329 | 33, | ||
330 | 0, | ||
331 | |||
332 | 33, | ||
333 | 0, | ||
334 | |||
335 | 33, | ||
336 | 0, | ||
337 | |||
338 | 21, | ||
339 | 33, | ||
340 | 0, | ||
341 | |||
342 | 33, | ||
343 | 0, | ||
344 | |||
345 | 33, | ||
346 | 0, | ||
347 | |||
348 | 33, | ||
349 | 0, | ||
350 | |||
351 | 33, | ||
352 | 0, | ||
353 | |||
354 | 23, | ||
355 | 0, | ||
356 | |||
357 | 29, | ||
358 | 30, | ||
359 | 0, | ||
360 | |||
361 | 31, | ||
362 | 0, | ||
363 | |||
364 | 20, | ||
365 | 33, | ||
366 | 0, | ||
367 | |||
368 | 33, | ||
369 | 0, | ||
370 | |||
371 | 16, | ||
372 | 33, | ||
373 | 0, | ||
374 | |||
375 | 33, | ||
376 | 0, | ||
377 | |||
378 | 33, | ||
379 | 0, | ||
380 | |||
381 | 19, | ||
382 | 33, | ||
383 | 0, | ||
384 | |||
385 | 22, | ||
386 | 33, | ||
387 | 0, | ||
388 | |||
389 | 33, | ||
390 | 0, | ||
391 | |||
392 | 33, | ||
393 | 0, | ||
394 | |||
395 | 33, | ||
396 | 0, | ||
397 | |||
398 | 33, | ||
399 | 0, | ||
400 | |||
401 | 33, | ||
402 | 0, | ||
403 | |||
404 | 32, | ||
405 | 0, | ||
406 | |||
407 | 9, | ||
408 | 33, | ||
409 | 0, | ||
410 | |||
411 | 33, | ||
412 | 0, | ||
413 | |||
414 | 33, | ||
415 | 0, | ||
416 | |||
417 | 33, | ||
418 | 0, | ||
419 | |||
420 | 33, | ||
421 | 0, | ||
422 | |||
423 | 8, | ||
424 | 33, | ||
425 | 0, | ||
426 | |||
427 | 33, | ||
428 | 0, | ||
429 | |||
430 | 33, | ||
431 | 0, | ||
432 | |||
433 | 31, | ||
434 | 32, | ||
435 | 0, | ||
436 | |||
437 | 33, | ||
438 | 0, | ||
439 | |||
440 | 33, | ||
441 | 0, | ||
442 | |||
443 | 6, | ||
444 | 18, | ||
445 | 33, | ||
446 | 0, | ||
447 | |||
448 | 33, | ||
449 | 0, | ||
450 | |||
451 | 33, | ||
452 | 0, | ||
453 | |||
454 | 14, | ||
455 | 33, | ||
456 | 0, | ||
457 | |||
458 | 11, | ||
459 | 33, | ||
460 | 0, | ||
461 | |||
462 | 10, | ||
463 | 33, | ||
464 | 0, | ||
465 | |||
466 | 33, | ||
467 | 0, | ||
468 | |||
469 | 13, | ||
470 | 33, | ||
471 | 0, | ||
472 | |||
473 | 17, | ||
474 | 33, | ||
475 | 0, | ||
476 | |||
477 | 2, | ||
478 | 0, | ||
479 | |||
480 | 33, | ||
481 | 0, | ||
482 | |||
483 | 15, | ||
484 | 33, | ||
485 | 0, | ||
486 | |||
487 | 3, | ||
488 | 0, | ||
489 | 0}; | ||
490 | # define YYTYPE char | ||
491 | struct yywork { YYTYPE verify, advance; } yycrank[] = { | ||
492 | 0,0, 0,0, 1,3, 0,0, | ||
493 | 0,0, 0,0, 0,0, 0,0, | ||
494 | 0,0, 0,0, 1,4, 1,5, | ||
495 | 6,29, 4,28, 0,0, 0,0, | ||
496 | 0,0, 0,0, 7,31, 0,0, | ||
497 | 6,29, 6,29, 0,0, 0,0, | ||
498 | 0,0, 0,0, 7,31, 7,31, | ||
499 | 0,0, 0,0, 0,0, 0,0, | ||
500 | 0,0, 0,0, 0,0, 1,6, | ||
501 | 4,28, 0,0, 0,0, 0,0, | ||
502 | 1,7, 0,0, 0,0, 0,0, | ||
503 | 1,3, 6,30, 1,8, 1,9, | ||
504 | 0,0, 1,10, 6,29, 7,31, | ||
505 | 8,33, 0,0, 6,29, 0,0, | ||
506 | 7,32, 0,0, 0,0, 6,29, | ||
507 | 7,31, 1,11, 0,0, 1,12, | ||
508 | 2,27, 7,31, 1,13, 11,39, | ||
509 | 12,40, 1,13, 26,56, 0,0, | ||
510 | 0,0, 2,8, 2,9, 0,0, | ||
511 | 6,29, 0,0, 0,0, 6,29, | ||
512 | 0,0, 0,0, 7,31, 0,0, | ||
513 | 0,0, 7,31, 0,0, 0,0, | ||
514 | 2,11, 0,0, 2,12, 0,0, | ||
515 | 0,0, 0,0, 0,0, 0,0, | ||
516 | 0,0, 0,0, 1,14, 0,0, | ||
517 | 0,0, 1,15, 1,16, 1,17, | ||
518 | 0,0, 22,52, 1,18, 18,47, | ||
519 | 23,53, 1,19, 42,63, 1,20, | ||
520 | 1,21, 25,55, 14,42, 1,22, | ||
521 | 15,43, 1,23, 1,24, 16,44, | ||
522 | 1,25, 16,45, 17,46, 19,48, | ||
523 | 21,51, 2,14, 20,49, 1,26, | ||
524 | 2,15, 2,16, 2,17, 24,54, | ||
525 | 20,50, 2,18, 44,64, 45,65, | ||
526 | 2,19, 46,66, 2,20, 2,21, | ||
527 | 27,57, 48,67, 2,22, 49,68, | ||
528 | 2,23, 2,24, 50,69, 2,25, | ||
529 | 52,70, 53,72, 27,58, 54,73, | ||
530 | 52,71, 9,34, 2,26, 9,35, | ||
531 | 9,35, 9,35, 9,35, 9,35, | ||
532 | 9,35, 9,35, 9,35, 9,35, | ||
533 | 9,35, 10,36, 55,74, 10,37, | ||
534 | 10,37, 10,37, 10,37, 10,37, | ||
535 | 10,37, 10,37, 10,37, 10,37, | ||
536 | 10,37, 57,75, 58,76, 64,80, | ||
537 | 66,81, 67,82, 70,83, 71,84, | ||
538 | 72,85, 73,86, 74,87, 10,38, | ||
539 | 10,38, 38,61, 10,38, 38,61, | ||
540 | 75,88, 76,89, 38,62, 38,62, | ||
541 | 38,62, 38,62, 38,62, 38,62, | ||
542 | 38,62, 38,62, 38,62, 38,62, | ||
543 | 80,92, 81,93, 13,41, 13,41, | ||
544 | 13,41, 13,41, 13,41, 13,41, | ||
545 | 13,41, 13,41, 13,41, 13,41, | ||
546 | 82,94, 83,95, 84,96, 10,38, | ||
547 | 10,38, 86,97, 10,38, 13,41, | ||
548 | 13,41, 13,41, 13,41, 13,41, | ||
549 | 13,41, 13,41, 13,41, 13,41, | ||
550 | 13,41, 13,41, 13,41, 13,41, | ||
551 | 13,41, 13,41, 13,41, 13,41, | ||
552 | 13,41, 13,41, 13,41, 13,41, | ||
553 | 13,41, 13,41, 13,41, 13,41, | ||
554 | 13,41, 87,98, 88,99, 60,79, | ||
555 | 60,79, 13,41, 60,79, 13,41, | ||
556 | 13,41, 13,41, 13,41, 13,41, | ||
557 | 13,41, 13,41, 13,41, 13,41, | ||
558 | 13,41, 13,41, 13,41, 13,41, | ||
559 | 13,41, 13,41, 13,41, 13,41, | ||
560 | 13,41, 13,41, 13,41, 13,41, | ||
561 | 13,41, 13,41, 13,41, 13,41, | ||
562 | 13,41, 33,33, 89,100, 60,79, | ||
563 | 60,79, 92,101, 60,79, 93,102, | ||
564 | 95,103, 33,33, 33,0, 96,104, | ||
565 | 99,105, 100,106, 102,107, 106,108, | ||
566 | 107,109, 35,35, 35,35, 35,35, | ||
567 | 35,35, 35,35, 35,35, 35,35, | ||
568 | 35,35, 35,35, 35,35, 108,110, | ||
569 | 0,0, 0,0, 0,0, 0,0, | ||
570 | 0,0, 0,0, 33,33, 0,0, | ||
571 | 0,0, 35,59, 35,59, 33,33, | ||
572 | 35,59, 0,0, 0,0, 33,33, | ||
573 | 0,0, 0,0, 0,0, 0,0, | ||
574 | 33,33, 0,0, 0,0, 0,0, | ||
575 | 0,0, 36,60, 36,60, 36,60, | ||
576 | 36,60, 36,60, 36,60, 36,60, | ||
577 | 36,60, 36,60, 36,60, 0,0, | ||
578 | 0,0, 33,33, 0,0, 0,0, | ||
579 | 33,33, 35,59, 35,59, 0,0, | ||
580 | 35,59, 36,38, 36,38, 59,77, | ||
581 | 36,38, 59,77, 0,0, 0,0, | ||
582 | 59,78, 59,78, 59,78, 59,78, | ||
583 | 59,78, 59,78, 59,78, 59,78, | ||
584 | 59,78, 59,78, 61,62, 61,62, | ||
585 | 61,62, 61,62, 61,62, 61,62, | ||
586 | 61,62, 61,62, 61,62, 61,62, | ||
587 | 0,0, 0,0, 0,0, 0,0, | ||
588 | 0,0, 36,38, 36,38, 0,0, | ||
589 | 36,38, 77,78, 77,78, 77,78, | ||
590 | 77,78, 77,78, 77,78, 77,78, | ||
591 | 77,78, 77,78, 77,78, 79,90, | ||
592 | 0,0, 79,90, 0,0, 0,0, | ||
593 | 79,91, 79,91, 79,91, 79,91, | ||
594 | 79,91, 79,91, 79,91, 79,91, | ||
595 | 79,91, 79,91, 90,91, 90,91, | ||
596 | 90,91, 90,91, 90,91, 90,91, | ||
597 | 90,91, 90,91, 90,91, 90,91, | ||
598 | 0,0}; | ||
599 | struct yysvf yysvec[] = { | ||
600 | 0, 0, 0, | ||
601 | yycrank+-1, 0, yyvstop+1, | ||
602 | yycrank+-28, yysvec+1, yyvstop+3, | ||
603 | yycrank+0, 0, yyvstop+5, | ||
604 | yycrank+4, 0, yyvstop+7, | ||
605 | yycrank+0, 0, yyvstop+10, | ||
606 | yycrank+-11, 0, yyvstop+12, | ||
607 | yycrank+-17, 0, yyvstop+14, | ||
608 | yycrank+7, 0, yyvstop+16, | ||
609 | yycrank+107, 0, yyvstop+18, | ||
610 | yycrank+119, 0, yyvstop+20, | ||
611 | yycrank+6, 0, yyvstop+23, | ||
612 | yycrank+7, 0, yyvstop+25, | ||
613 | yycrank+158, 0, yyvstop+27, | ||
614 | yycrank+4, yysvec+13, yyvstop+30, | ||
615 | yycrank+5, yysvec+13, yyvstop+33, | ||
616 | yycrank+11, yysvec+13, yyvstop+36, | ||
617 | yycrank+5, yysvec+13, yyvstop+39, | ||
618 | yycrank+5, yysvec+13, yyvstop+42, | ||
619 | yycrank+12, yysvec+13, yyvstop+45, | ||
620 | yycrank+21, yysvec+13, yyvstop+48, | ||
621 | yycrank+10, yysvec+13, yyvstop+51, | ||
622 | yycrank+4, yysvec+13, yyvstop+54, | ||
623 | yycrank+4, yysvec+13, yyvstop+57, | ||
624 | yycrank+21, yysvec+13, yyvstop+60, | ||
625 | yycrank+9, yysvec+13, yyvstop+63, | ||
626 | yycrank+9, 0, yyvstop+66, | ||
627 | yycrank+40, 0, yyvstop+68, | ||
628 | yycrank+0, yysvec+4, yyvstop+70, | ||
629 | yycrank+0, yysvec+6, 0, | ||
630 | yycrank+0, 0, yyvstop+72, | ||
631 | yycrank+0, yysvec+7, 0, | ||
632 | yycrank+0, 0, yyvstop+74, | ||
633 | yycrank+-280, 0, yyvstop+76, | ||
634 | yycrank+0, 0, yyvstop+78, | ||
635 | yycrank+249, 0, yyvstop+80, | ||
636 | yycrank+285, 0, yyvstop+82, | ||
637 | yycrank+0, yysvec+10, yyvstop+84, | ||
638 | yycrank+146, 0, 0, | ||
639 | yycrank+0, 0, yyvstop+86, | ||
640 | yycrank+0, 0, yyvstop+88, | ||
641 | yycrank+0, yysvec+13, yyvstop+90, | ||
642 | yycrank+10, yysvec+13, yyvstop+92, | ||
643 | yycrank+0, yysvec+13, yyvstop+94, | ||
644 | yycrank+19, yysvec+13, yyvstop+97, | ||
645 | yycrank+35, yysvec+13, yyvstop+99, | ||
646 | yycrank+27, yysvec+13, yyvstop+101, | ||
647 | yycrank+0, yysvec+13, yyvstop+103, | ||
648 | yycrank+42, yysvec+13, yyvstop+106, | ||
649 | yycrank+35, yysvec+13, yyvstop+108, | ||
650 | yycrank+30, yysvec+13, yyvstop+110, | ||
651 | yycrank+0, yysvec+13, yyvstop+112, | ||
652 | yycrank+36, yysvec+13, yyvstop+115, | ||
653 | yycrank+48, yysvec+13, yyvstop+117, | ||
654 | yycrank+35, yysvec+13, yyvstop+119, | ||
655 | yycrank+61, yysvec+13, yyvstop+121, | ||
656 | yycrank+0, 0, yyvstop+123, | ||
657 | yycrank+76, 0, 0, | ||
658 | yycrank+67, 0, 0, | ||
659 | yycrank+312, 0, 0, | ||
660 | yycrank+183, yysvec+36, yyvstop+125, | ||
661 | yycrank+322, 0, 0, | ||
662 | yycrank+0, yysvec+61, yyvstop+128, | ||
663 | yycrank+0, yysvec+13, yyvstop+130, | ||
664 | yycrank+78, yysvec+13, yyvstop+133, | ||
665 | yycrank+0, yysvec+13, yyvstop+135, | ||
666 | yycrank+81, yysvec+13, yyvstop+138, | ||
667 | yycrank+84, yysvec+13, yyvstop+140, | ||
668 | yycrank+0, yysvec+13, yyvstop+142, | ||
669 | yycrank+0, yysvec+13, yyvstop+145, | ||
670 | yycrank+81, yysvec+13, yyvstop+148, | ||
671 | yycrank+66, yysvec+13, yyvstop+150, | ||
672 | yycrank+74, yysvec+13, yyvstop+152, | ||
673 | yycrank+80, yysvec+13, yyvstop+154, | ||
674 | yycrank+78, yysvec+13, yyvstop+156, | ||
675 | yycrank+94, 0, 0, | ||
676 | yycrank+93, 0, 0, | ||
677 | yycrank+341, 0, 0, | ||
678 | yycrank+0, yysvec+77, yyvstop+158, | ||
679 | yycrank+356, 0, 0, | ||
680 | yycrank+99, yysvec+13, yyvstop+160, | ||
681 | yycrank+89, yysvec+13, yyvstop+163, | ||
682 | yycrank+108, yysvec+13, yyvstop+165, | ||
683 | yycrank+120, yysvec+13, yyvstop+167, | ||
684 | yycrank+104, yysvec+13, yyvstop+169, | ||
685 | yycrank+0, yysvec+13, yyvstop+171, | ||
686 | yycrank+113, yysvec+13, yyvstop+174, | ||
687 | yycrank+148, yysvec+13, yyvstop+176, | ||
688 | yycrank+133, 0, 0, | ||
689 | yycrank+181, 0, 0, | ||
690 | yycrank+366, 0, 0, | ||
691 | yycrank+0, yysvec+90, yyvstop+178, | ||
692 | yycrank+183, yysvec+13, yyvstop+181, | ||
693 | yycrank+182, yysvec+13, yyvstop+183, | ||
694 | yycrank+0, yysvec+13, yyvstop+185, | ||
695 | yycrank+172, yysvec+13, yyvstop+189, | ||
696 | yycrank+181, yysvec+13, yyvstop+191, | ||
697 | yycrank+0, yysvec+13, yyvstop+193, | ||
698 | yycrank+0, yysvec+13, yyvstop+196, | ||
699 | yycrank+189, 0, 0, | ||
700 | yycrank+195, 0, 0, | ||
701 | yycrank+0, yysvec+13, yyvstop+199, | ||
702 | yycrank+183, yysvec+13, yyvstop+202, | ||
703 | yycrank+0, yysvec+13, yyvstop+204, | ||
704 | yycrank+0, yysvec+13, yyvstop+207, | ||
705 | yycrank+0, 0, yyvstop+210, | ||
706 | yycrank+178, 0, 0, | ||
707 | yycrank+186, yysvec+13, yyvstop+212, | ||
708 | yycrank+204, 0, 0, | ||
709 | yycrank+0, yysvec+13, yyvstop+214, | ||
710 | yycrank+0, 0, yyvstop+217, | ||
711 | 0, 0, 0}; | ||
712 | struct yywork *yytop = yycrank+423; | ||
713 | struct yysvf *yybgin = yysvec+1; | ||
714 | char yymatch[] = { | ||
715 | 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , | ||
716 | 01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 , | ||
717 | 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , | ||
718 | 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , | ||
719 | 011 ,01 ,'"' ,01 ,01 ,01 ,01 ,047 , | ||
720 | 01 ,01 ,01 ,'+' ,01 ,'+' ,01 ,01 , | ||
721 | '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , | ||
722 | '0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 , | ||
723 | 01 ,'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' , | ||
727 | 01 ,'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 , | ||
731 | 0}; | ||
732 | char yyextra[] = { | ||
733 | 0,0,0,0,0,0,0,0, | ||
734 | 0,0,0,0,0,0,0,0, | ||
735 | 0,0,0,0,0,0,0,0, | ||
736 | 0,0,0,0,0,0,0,0, | ||
737 | 0,0,0,0,0,0,0,0, | ||
738 | 0}; | ||
739 | #ifndef lint | ||
740 | static char ncform_sccsid[] = "@(#)ncform 1.6 88/02/08 SMI"; /* from S5R2 1.2 */ | ||
741 | #endif | ||
742 | |||
743 | int yylineno =1; | ||
744 | # define YYU(x) x | ||
745 | # define NLSTATE yyprevious=YYNEWLINE | ||
746 | char yytext[YYLMAX]; | ||
747 | struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; | ||
748 | char yysbuf[YYLMAX]; | ||
749 | char *yysptr = yysbuf; | ||
750 | int *yyfnd; | ||
751 | extern struct yysvf *yyestate; | ||
752 | int yyprevious = YYNEWLINE; | ||
753 | yylook(){ | ||
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 | } | ||
901 | yyback(p, m) | ||
902 | int *p; | ||
903 | { | ||
904 | if (p==0) return(0); | ||
905 | while (*p) | ||
906 | { | ||
907 | if (*p++ == m) | ||
908 | return(1); | ||
909 | } | ||
910 | return(0); | ||
911 | } | ||
912 | /* the following are only used in the lex library */ | ||
913 | yyinput(){ | ||
914 | return(input()); | ||
915 | } | ||
916 | yyoutput(c) | ||
917 | int c; { | ||
918 | output(c); | ||
919 | } | ||
920 | yyunput(c) | ||
921 | int c; { | ||
922 | unput(c); | ||
923 | } | ||