|
|
1.1 root 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 200
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 ={stdin}, *yyout ={stdout};
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: #ifndef lint
29: static char sccsid[] = "@(#)end.l 4.2 (Berkeley) 82/11/06";
30: #endif not lint
31:
32: #include <stdio.h>
33: #include <ctype.h>
34: #include "names.h"
35: #include "ehash.c"
36: #include "edict.c"
37: #define OUT1(c) putchar(c); putchar(':'); for(i=yyleng-1;i>=0;)putchar(yytext[i--])
38: #define POUT1(c) putchar(c); putchar(':'); for(i=yyleng-1;i>0;)putchar(yytext[i--])
39: int i;
40: int nomin = 0;
41: int NOCAPS = 0; /*if set, all caps mapped to lower, plurals stripped*/
42: # define YYNEWLINE 10
43: yylex(){
44: int nstr; extern int yyprevious;
45: while((nstr = yylook()) >= 0)
46: yyfussy: switch(nstr){
47: case 0:
48: if(yywrap()) return(0); break;
49: case 1:
50: {
51: ECHO;
52: }
53: break;
54: case 2:
55: {
56: look(ic,2,ADJ);
57: }
58: break;
59: case 3:
60: {
61: look(ed,2,ED);
62: }
63: break;
64: case 4:
65: {
66: if(yytext[5] == 'E'){
67: OUT1(NOUN_ADJ);
68: }
69: OUT1(ADJ_ADV);
70: }
71: break;
72: case 5:
73: {
74: look(ace,3,NOUN_VERB);
75: }
76: break;
77: case 6:
78: {
79: look(ice,3,NOUN_VERB);
80: }
81: break;
82: case 7:
83: {
84: if(look(ence,4,NOM))nomin++;
85: }
86: break;
87: case 8:
88: {
89: if(look(ance,4,NOM))nomin++;
90: }
91: break;
92: case 9:
93: {
94: look(ee,2,NOUN);
95: }
96: break;
97: case 10:
98: {
99: look(age,3,NOUN);
100: }
101: break;
102: case 11:
103: {
104: look(able,4,ADJ);
105: }
106: break;
107: case 12:
108: {
109: look(ible,4,ADJ);
110: }
111: break;
112: case 13:
113: {
114: look(cle,3,NOUN);
115: }
116: break;
117: case 14:
118: {
119: look(ure,3,NOUN);
120: }
121: break;
122: case 15:
123: {
124: look(ite,3,NOUN);
125: }
126: break;
127: case 16:
128: {
129: look(ive,3,ADJ);
130: }
131: break;
132: case 17:
133: {
134: look(ize,3,VERB);
135: }
136: break;
137: case 18:
138: {
139: look(ing,3,ING);
140: }
141: break;
142: case 19:
143: {
144: look(ish,3,ADJ);
145: }
146: break;
147: case 20:
148: {
149: look(cal,3,ADJ);
150: }
151: break;
152: case 21:
153: {
154: look(ional,5,ADJ);
155: }
156: break;
157: case 22:
158: {
159: look(ful,3,ADJ);
160: }
161: break;
162: case 23:
163: {
164: OUT1(NOUN);
165: }
166: break;
167: case 24:
168: {
169: look(man,3,NOUN);
170: }
171: break;
172: case 25:
173: {
174: OUT1(NV_PL);
175: }
176: break;
177: case 26:
178: {
179: if(look(ion,3,NOM))nomin++;
180: }
181: break;
182: case 27:
183: {
184: look(ship,4,NOUN);
185: }
186: break;
187: case 28:
188: {
189: look(lar,3,ADJ);
190: }
191: break;
192: case 29:
193: {
194: OUT1(NOUN_VERB);
195: }
196: break;
197: case 30:
198: {
199: OUT1(NOUN);
200: }
201: break;
202: case 31:
203: {
204: look(is,2,NOUN);
205: }
206: break;
207: case 32:
208: {
209: look(less,4,ADJ);
210: }
211: break;
212: case 33:
213: {
214: look(ness,4,NOUN);
215: }
216: break;
217: case 34:
218: {
219: look(ess,3,NOUN);
220: }
221: break;
222: case 35:
223: {
224: look(ss,2,NOUN);
225: }
226: break;
227: case 36:
228: {
229: look(ous,3,ADJ);
230: }
231: break;
232: case 37:
233: {
234: look(us,2,NOUN);
235: }
236: break;
237: case 38:
238: {
239: if(look(ion,4,PNOUN))nomin++;
240: }
241: break;
242: case 39:
243: {
244: if(look(ment,5,PNOUN))nomin++;
245: }
246: break;
247: case 40:
248: {
249: if(look(ence,5,PNOUN))nomin++;
250: }
251: break;
252: case 41:
253: {
254: if(look(ance,5,PNOUN))nomin++;
255: }
256: break;
257: case 42:
258: {
259: if(isupper(yytext[yyleng-1])){
260: if(NOCAPS){
261: yytext[yyleng-1] = tolower(yytext[yyleng-1]);
262: POUT1(PNOUN);
263: }
264: else { OUT1(PNOUN); }
265: }
266: else {
267: if(NOCAPS){POUT1(NV_PL);}
268: else{ OUT1(NV_PL); }
269: }
270: }
271: break;
272: case 43:
273: {
274: look(ant,3,NOUN_ADJ);
275: }
276: break;
277: case 44:
278: {
279: if(look(ment,4,NOM))nomin++;
280: }
281: break;
282: case 45:
283: {
284: look(est,3,ADJ);
285: }
286: break;
287: case 46:
288: {
289: look(ist,3,NOUN);
290: }
291: break;
292: case 47:
293: {
294: putchar(yytext[0]);
295: }
296: break;
297: case 48:
298: {
299: if(isupper(yytext[yyleng-1])){
300: if(NOCAPS)
301: yytext[yyleng-1] = tolower(yytext[yyleng-1]);
302: if((yytext[0] == 'n' || yytext[0] == 'l') && yytext[1] == 'a'){
303: OUT1(NOUN_ADJ);
304: }
305: else {
306: OUT1(NOUN);
307: }
308: }
309: else {
310: OUT1(UNK);
311: }
312: }
313: break;
314: case 49:
315: {
316: egetd();
317: }
318: break;
319: case 50:
320: {
321: printf("%s",yytext);
322: }
323: break;
324: case -1:
325: break;
326: default:
327: fprintf(yyout,"bad switch yylook %d",nstr);
328: } return(0); }
329: /* end of yylex */
330: look(f,n,nc)
331: char (*f)();
332: int n;
333: char nc;
334: {
335: int in,nn,ret;
336: char sch;
337: in=0;
338: sch=yytext[yyleng-1];
339: if(isupper(sch)){
340: yytext[yyleng-1] = tolower(sch);
341: in=1;
342: }
343: if((*f)(&yytext[n],1,0) != 0){
344: nn = (*f)(&yytext[n],1,0);
345: if(nc == PNOUN)
346: if(nn == NOUN_VERB){
347: if(in == 1)nn=PNOUN;
348: else nn=NV_PL;
349: }
350: ret = 0;
351: }
352: else {
353: nn = nc;
354: ret = 1;
355: }
356: if(in==1){
357: if(nn == NOUN_VERB)nn=NOUN;
358: if(!NOCAPS)yytext[yyleng-1]=sch;
359: }
360: if(nn==PNOUN && yytext[0] == 's' && NOCAPS){
361: POUT1(nn);
362: }
363: else {
364: OUT1(nn);
365: }
366: return(ret);
367: }
368: yywrap(){
369: printf(";%d\n",nomin);
370: return(1);
371: }
372: int yyvstop[] ={
373: 0,
374:
375: 47,
376: 0,
377:
378: 48,
379: 0,
380:
381: 47,
382: 0,
383:
384: 48,
385: 0,
386:
387: 48,
388: 0,
389:
390: 48,
391: 0,
392:
393: 48,
394: 0,
395:
396: 48,
397: 0,
398:
399: 48,
400: 0,
401:
402: 48,
403: 0,
404:
405: 48,
406: 0,
407:
408: 48,
409: 0,
410:
411: 48,
412: 0,
413:
414: 48,
415: 0,
416:
417: 48,
418: 0,
419:
420: 48,
421: 0,
422:
423: 49,
424: 0,
425:
426: 48,
427: 0,
428:
429: 48,
430: 0,
431:
432: 48,
433: 0,
434:
435: 48,
436: 0,
437:
438: 48,
439: 0,
440:
441: 48,
442: 0,
443:
444: 48,
445: 0,
446:
447: 48,
448: 0,
449:
450: 48,
451: 0,
452:
453: 48,
454: 0,
455:
456: 48,
457: 0,
458:
459: 48,
460: 0,
461:
462: 48,
463: 0,
464:
465: 48,
466: 0,
467:
468: 48,
469: 0,
470:
471: 48,
472: 0,
473:
474: 48,
475: 0,
476:
477: 48,
478: 0,
479:
480: 48,
481: 0,
482:
483: 48,
484: 0,
485:
486: 48,
487: 0,
488:
489: 48,
490: 0,
491:
492: 42,
493: 0,
494:
495: 42,
496: 48,
497: 0,
498:
499: 42,
500: 0,
501:
502: 42,
503: 48,
504: 0,
505:
506: 42,
507: 48,
508: 0,
509:
510: 42,
511: 48,
512: 0,
513:
514: 42,
515: 48,
516: 0,
517:
518: 42,
519: 48,
520: 0,
521:
522: 42,
523: 48,
524: 0,
525:
526: 48,
527: 0,
528:
529: 48,
530: 0,
531:
532: 1,
533: 0,
534:
535: 50,
536: 0,
537:
538: 2,
539: 0,
540:
541: 2,
542: 48,
543: 0,
544:
545: 3,
546: 0,
547:
548: 3,
549: 48,
550: 0,
551:
552: 48,
553: 0,
554:
555: 48,
556: 0,
557:
558: 48,
559: 0,
560:
561: 48,
562: 0,
563:
564: 9,
565: 0,
566:
567: 9,
568: 48,
569: 0,
570:
571: 48,
572: 0,
573:
574: 48,
575: 0,
576:
577: 48,
578: 0,
579:
580: 48,
581: 0,
582:
583: 48,
584: 0,
585:
586: 48,
587: 0,
588:
589: 48,
590: 0,
591:
592: 48,
593: 0,
594:
595: 48,
596: 0,
597:
598: 48,
599: 0,
600:
601: 48,
602: 0,
603:
604: 48,
605: 0,
606:
607: 48,
608: 0,
609:
610: 24,
611: 48,
612: 0,
613:
614: 25,
615: 48,
616: 0,
617:
618: 48,
619: 0,
620:
621: 48,
622: 0,
623:
624: 48,
625: 0,
626:
627: 30,
628: 0,
629:
630: 30,
631: 48,
632: 0,
633:
634: 30,
635: 48,
636: 0,
637:
638: 1,
639: 42,
640: 0,
641:
642: 42,
643: 48,
644: 0,
645:
646: 31,
647: 42,
648: 0,
649:
650: 31,
651: 42,
652: 48,
653: 0,
654:
655: 42,
656: 48,
657: 0,
658:
659: 35,
660: 42,
661: 0,
662:
663: 35,
664: 42,
665: 48,
666: 0,
667:
668: 35,
669: 42,
670: 48,
671: 0,
672:
673: 42,
674: 48,
675: 0,
676:
677: 37,
678: 42,
679: 0,
680:
681: 37,
682: 42,
683: 48,
684: 0,
685:
686: 37,
687: 42,
688: 48,
689: 0,
690:
691: 48,
692: 0,
693:
694: 48,
695: 0,
696:
697: 48,
698: 0,
699:
700: 48,
701: 0,
702:
703: 48,
704: 0,
705:
706: 5,
707: 0,
708:
709: 5,
710: 48,
711: 0,
712:
713: 6,
714: 0,
715:
716: 6,
717: 48,
718: 0,
719:
720: 48,
721: 0,
722:
723: 48,
724: 0,
725:
726: 10,
727: 0,
728:
729: 10,
730: 48,
731: 0,
732:
733: 48,
734: 0,
735:
736: 48,
737: 0,
738:
739: 13,
740: 0,
741:
742: 13,
743: 48,
744: 0,
745:
746: 14,
747: 0,
748:
749: 14,
750: 48,
751: 0,
752:
753: 15,
754: 0,
755:
756: 15,
757: 48,
758: 0,
759:
760: 16,
761: 0,
762:
763: 16,
764: 48,
765: 0,
766:
767: 17,
768: 0,
769:
770: 17,
771: 48,
772: 0,
773:
774: 18,
775: 0,
776:
777: 18,
778: 48,
779: 0,
780:
781: 19,
782: 0,
783:
784: 19,
785: 48,
786: 0,
787:
788: 20,
789: 0,
790:
791: 20,
792: 48,
793: 0,
794:
795: 48,
796: 0,
797:
798: 22,
799: 0,
800:
801: 22,
802: 48,
803: 0,
804:
805: 23,
806: 0,
807:
808: 23,
809: 48,
810: 0,
811:
812: 24,
813: 0,
814:
815: 25,
816: 0,
817:
818: 26,
819: 0,
820:
821: 26,
822: 48,
823: 0,
824:
825: 48,
826: 0,
827:
828: 28,
829: 0,
830:
831: 28,
832: 48,
833: 0,
834:
835: 30,
836: 48,
837: 0,
838:
839: 42,
840: 48,
841: 0,
842:
843: 42,
844: 48,
845: 0,
846:
847: 34,
848: 35,
849: 42,
850: 0,
851:
852: 34,
853: 35,
854: 42,
855: 48,
856: 0,
857:
858: 34,
859: 35,
860: 42,
861: 48,
862: 0,
863:
864: 34,
865: 35,
866: 42,
867: 48,
868: 0,
869:
870: 42,
871: 48,
872: 0,
873:
874: 36,
875: 37,
876: 42,
877: 0,
878:
879: 36,
880: 37,
881: 42,
882: 48,
883: 0,
884:
885: 43,
886: 0,
887:
888: 43,
889: 48,
890: 0,
891:
892: 48,
893: 0,
894:
895: 45,
896: 0,
897:
898: 45,
899: 48,
900: 0,
901:
902: 46,
903: 0,
904:
905: 46,
906: 48,
907: 0,
908:
909: 4,
910: 0,
911:
912: 4,
913: 48,
914: 0,
915:
916: 8,
917: 0,
918:
919: 8,
920: 48,
921: 0,
922:
923: 7,
924: 0,
925:
926: 7,
927: 48,
928: 0,
929:
930: 11,
931: 0,
932:
933: 11,
934: 48,
935: 0,
936:
937: 12,
938: 0,
939:
940: 12,
941: 48,
942: 0,
943:
944: 48,
945: 0,
946:
947: 27,
948: 0,
949:
950: 27,
951: 48,
952: 0,
953:
954: 29,
955: 30,
956: 48,
957: 0,
958:
959: 42,
960: 48,
961: 0,
962:
963: 42,
964: 48,
965: 0,
966:
967: 38,
968: 42,
969: 0,
970:
971: 38,
972: 42,
973: 48,
974: 0,
975:
976: 32,
977: 34,
978: 35,
979: 42,
980: 0,
981:
982: 32,
983: 34,
984: 35,
985: 42,
986: 48,
987: 0,
988:
989: 33,
990: 34,
991: 35,
992: 42,
993: 0,
994:
995: 33,
996: 34,
997: 35,
998: 42,
999: 48,
1000: 0,
1001:
1002: 42,
1003: 48,
1004: 0,
1005:
1006: 44,
1007: 0,
1008:
1009: 44,
1010: 48,
1011: 0,
1012:
1013: 21,
1014: 0,
1015:
1016: 21,
1017: 48,
1018: 0,
1019:
1020: 41,
1021: 42,
1022: 0,
1023:
1024: 41,
1025: 42,
1026: 48,
1027: 0,
1028:
1029: 40,
1030: 42,
1031: 0,
1032:
1033: 40,
1034: 42,
1035: 48,
1036: 0,
1037:
1038: 39,
1039: 42,
1040: 0,
1041:
1042: 39,
1043: 42,
1044: 48,
1045: 0,
1046: 0};
1047: # define YYTYPE int
1048: struct yywork { YYTYPE verify, advance; } yycrank[] ={
1049: 0,0, 0,0, 0,0, 0,0,
1050: 0,0, 0,0, 0,0, 0,0,
1051: 0,0, 0,0, 0,0, 1,3,
1052: 22,58, 0,0, 0,0, 0,0,
1053: 0,0, 0,0, 0,0, 0,0,
1054: 0,0, 0,0, 0,0, 0,0,
1055: 0,0, 0,0, 0,0, 0,0,
1056: 0,0, 0,0, 0,0, 0,0,
1057: 0,0, 0,0, 0,0, 0,0,
1058: 0,0, 0,0, 0,0, 0,0,
1059: 0,0, 0,0, 0,0, 0,0,
1060: 0,0, 1,3, 1,4, 0,0,
1061: 0,0, 0,0, 0,0, 0,0,
1062: 0,0, 0,0, 0,0, 0,0,
1063: 0,0, 0,0, 57,0, 5,21,
1064: 8,21, 60,0, 62,0, 68,0,
1065: 0,0, 0,0, 1,4, 1,4,
1066: 1,4, 1,4, 1,4, 1,4,
1067: 1,4, 1,4, 1,4, 1,4,
1068: 1,4, 1,4, 1,4, 1,4,
1069: 1,4, 1,4, 1,4, 1,4,
1070: 1,4, 1,4, 1,4, 1,4,
1071: 1,4, 1,4, 1,4, 1,4,
1072: 9,21, 10,21, 12,21, 13,21,
1073: 17,21, 11,21, 1,4, 1,4,
1074: 1,4, 1,4, 1,4, 1,4,
1075: 1,4, 1,4, 1,4, 1,4,
1076: 1,4, 1,4, 1,4, 1,4,
1077: 1,4, 1,4, 1,4, 1,4,
1078: 1,4, 1,4, 1,4, 1,4,
1079: 1,4, 1,4, 1,4, 1,4,
1080: 2,3, 26,63, 29,69, 30,70,
1081: 30,71, 31,72, 32,73, 33,74,
1082: 34,75, 35,76, 36,77, 38,80,
1083: 10,25, 39,81, 11,27, 9,24,
1084: 11,28, 40,82, 11,29, 17,43,
1085: 41,83, 37,78, 12,35, 11,30,
1086: 2,5, 10,26, 15,21, 42,84,
1087: 13,36, 11,31, 43,85, 11,32,
1088: 37,79, 11,33, 2,6, 2,4,
1089: 44,86, 11,34, 2,5, 2,5,
1090: 2,5, 2,5, 2,5, 2,5,
1091: 2,5, 2,5, 2,5, 2,5,
1092: 2,7, 2,5, 55,102, 63,106,
1093: 79,133, 85,142, 55,103, 2,8,
1094: 2,8, 2,8, 2,8, 2,8,
1095: 2,8, 2,8, 2,8, 2,8,
1096: 2,8, 2,8, 2,8, 2,8,
1097: 2,8, 2,8, 2,8, 2,8,
1098: 2,8, 2,8, 2,8, 2,8,
1099: 2,8, 2,8, 2,8, 2,8,
1100: 2,8, 56,104, 66,111, 15,39,
1101: 90,0, 56,105, 66,112, 2,8,
1102: 2,8, 2,9, 2,10, 2,11,
1103: 2,8, 2,12, 2,13, 2,8,
1104: 2,8, 2,8, 2,14, 2,15,
1105: 2,16, 2,8, 2,17, 2,8,
1106: 2,18, 2,19, 2,20, 2,8,
1107: 2,8, 2,8, 2,8, 2,8,
1108: 2,8, 4,4, 27,64, 70,115,
1109: 93,0, 103,157, 108,0, 110,0,
1110: 114,0, 118,0, 27,65, 70,116,
1111: 120,0, 122,0, 124,0, 27,66,
1112: 126,0, 128,0, 130,0, 132,0,
1113: 133,172, 4,4, 4,4, 4,4,
1114: 4,4, 4,4, 4,4, 4,4,
1115: 4,4, 4,4, 4,4, 4,4,
1116: 4,4, 4,4, 4,4, 4,4,
1117: 4,4, 4,4, 4,4, 4,4,
1118: 4,4, 4,4, 4,4, 4,4,
1119: 4,4, 4,4, 4,4, 14,21,
1120: 16,21, 135,0, 18,21, 137,0,
1121: 20,21, 4,4, 4,4, 4,4,
1122: 4,4, 4,4, 4,4, 4,4,
1123: 4,4, 4,4, 4,4, 4,4,
1124: 4,4, 4,4, 4,4, 4,4,
1125: 4,4, 4,4, 4,4, 4,4,
1126: 4,4, 4,4, 4,4, 4,4,
1127: 4,4, 4,4, 4,4, 7,22,
1128: 47,0, 19,46, 49,0, 21,57,
1129: 141,0, 24,59, 14,37, 16,40,
1130: 7,23, 18,44, 19,0, 16,41,
1131: 21,0, 144,0, 24,0, 154,0,
1132: 156,0, 51,0, 25,61, 159,0,
1133: 161,0, 16,42, 163,0, 18,45,
1134: 20,55, 165,0, 14,38, 25,0,
1135: 167,0, 20,56, 169,0, 28,67,
1136: 7,22, 53,0, 19,46, 47,47,
1137: 21,57, 49,47, 24,59, 171,0,
1138: 28,0, 174,0, 7,22, 7,22,
1139: 19,46, 19,47, 21,57, 21,57,
1140: 24,59, 24,60, 45,87, 25,61,
1141: 51,47, 179,0, 181,0, 47,47,
1142: 183,0, 49,47, 19,48, 45,0,
1143: 186,0, 25,61, 25,62, 7,22,
1144: 28,67, 19,47, 188,0, 21,57,
1145: 53,47, 24,60, 190,0, 59,0,
1146: 51,47, 61,0, 28,67, 28,68,
1147: 46,46, 192,0, 48,90, 194,0,
1148: 50,92, 0,0, 25,62, 45,87,
1149: 0,0, 46,0, 0,0, 48,0,
1150: 53,47, 50,0, 0,0, 49,91,
1151: 0,0, 45,87, 45,88, 28,68,
1152: 67,0, 0,0, 0,0, 0,0,
1153: 88,0, 19,49, 0,0, 52,95,
1154: 0,0, 19,50, 59,59, 0,0,
1155: 61,61, 46,46, 19,51, 48,90,
1156: 52,0, 50,92, 45,88, 19,52,
1157: 19,53, 19,54, 51,94, 46,46,
1158: 46,46, 48,90, 48,90, 50,92,
1159: 50,93, 54,99, 59,59, 0,0,
1160: 61,61, 64,107, 0,0, 67,67,
1161: 65,109, 53,98, 54,0, 88,88,
1162: 52,95, 0,0, 64,0, 0,0,
1163: 46,46, 65,0, 48,90, 0,0,
1164: 50,93, 92,0, 52,95, 52,96,
1165: 69,113, 0,0, 0,0, 67,67,
1166: 0,0, 91,0, 71,117, 88,88,
1167: 0,0, 69,0, 54,99, 45,89,
1168: 0,0, 72,119, 64,107, 71,0,
1169: 0,0, 65,109, 0,0, 52,96,
1170: 54,99, 54,100, 72,0, 0,0,
1171: 64,107, 64,108, 96,0, 65,109,
1172: 65,110, 73,121, 0,0, 0,0,
1173: 92,92, 69,113, 98,0, 0,0,
1174: 0,0, 0,0, 73,0, 71,117,
1175: 91,47, 54,100, 74,123, 69,113,
1176: 69,114, 64,108, 72,119, 0,0,
1177: 65,110, 71,117, 71,118, 74,0,
1178: 92,92, 0,0, 0,0, 52,97,
1179: 72,119, 72,120, 75,125, 0,0,
1180: 91,47, 96,96, 73,121, 0,0,
1181: 69,114, 76,127, 0,0, 75,0,
1182: 0,0, 98,47, 71,118, 77,129,
1183: 73,121, 73,122, 76,0, 74,123,
1184: 0,0, 72,120, 0,0, 0,0,
1185: 77,0, 96,96, 0,0, 78,131,
1186: 0,0, 74,123, 74,124, 54,101,
1187: 80,134, 98,47, 81,136, 75,125,
1188: 78,0, 73,122, 0,0, 0,0,
1189: 0,0, 80,0, 76,127, 81,0,
1190: 0,0, 75,125, 75,126, 89,0,
1191: 77,129, 91,146, 74,124, 0,0,
1192: 76,127, 76,128, 0,0, 100,0,
1193: 0,0, 107,0, 77,129, 77,130,
1194: 78,131, 0,0, 0,0, 0,0,
1195: 0,0, 80,134, 75,126, 81,136,
1196: 0,0, 98,152, 78,131, 78,132,
1197: 82,138, 76,128, 83,139, 80,134,
1198: 80,135, 81,136, 81,137, 77,130,
1199: 84,140, 82,0, 89,88, 83,0,
1200: 0,0, 94,0, 86,143, 0,0,
1201: 87,87, 84,0, 100,100, 78,132,
1202: 107,107, 0,0, 0,0, 86,0,
1203: 80,135, 87,0, 81,137, 0,0,
1204: 0,0, 0,0, 89,88, 0,0,
1205: 109,0, 82,138, 0,0, 83,139,
1206: 113,0, 0,0, 100,100, 0,0,
1207: 107,107, 84,140, 0,0, 82,138,
1208: 82,82, 83,139, 83,83, 86,143,
1209: 94,47, 87,87, 0,0, 84,140,
1210: 84,141, 95,95, 0,0, 117,0,
1211: 97,148, 86,143, 86,144, 87,87,
1212: 87,87, 99,99, 95,0, 0,0,
1213: 82,82, 97,0, 83,83, 109,109,
1214: 94,47, 0,0, 99,0, 113,113,
1215: 84,141, 0,0, 119,0, 0,0,
1216: 89,145, 0,0, 86,144, 101,153,
1217: 87,87, 0,0, 0,0, 102,155,
1218: 0,0, 0,0, 95,95, 109,109,
1219: 101,0, 97,148, 117,117, 113,113,
1220: 102,0, 0,0, 99,99, 0,0,
1221: 95,95, 95,95, 104,158, 97,148,
1222: 97,149, 121,0, 105,160, 123,0,
1223: 99,99, 99,99, 106,162, 104,0,
1224: 94,147, 119,119, 117,117, 105,0,
1225: 101,153, 0,0, 0,0, 106,0,
1226: 102,155, 95,95, 0,0, 125,0,
1227: 97,149, 0,0, 101,153, 101,154,
1228: 111,164, 99,99, 102,155, 102,156,
1229: 112,166, 119,119, 0,0, 104,158,
1230: 0,0, 111,0, 127,0, 105,160,
1231: 121,121, 112,0, 123,123, 106,162,
1232: 0,0, 104,158, 104,159, 101,154,
1233: 129,0, 105,160, 105,161, 102,156,
1234: 131,0, 106,162, 106,163, 115,168,
1235: 0,0, 0,0, 125,125, 134,0,
1236: 121,121, 111,164, 123,123, 0,0,
1237: 115,0, 112,166, 104,159, 97,150,
1238: 116,170, 97,151, 105,161, 111,164,
1239: 111,165, 127,127, 106,163, 112,166,
1240: 112,167, 116,0, 125,125, 0,0,
1241: 136,0, 138,0, 139,0, 129,129,
1242: 0,0, 140,0, 143,0, 131,131,
1243: 115,168, 145,0, 146,0, 149,0,
1244: 111,165, 127,127, 134,134, 142,173,
1245: 112,167, 0,0, 115,168, 115,169,
1246: 0,0, 116,170, 0,0, 129,129,
1247: 142,0, 0,0, 0,0, 131,131,
1248: 152,0, 147,178, 0,0, 116,170,
1249: 116,171, 153,0, 134,134, 136,136,
1250: 138,138, 139,139, 147,0, 115,169,
1251: 140,140, 143,143, 148,148, 0,0,
1252: 145,88, 146,47, 149,149, 0,0,
1253: 142,173, 155,0, 0,0, 148,0,
1254: 116,171, 0,0, 158,0, 136,136,
1255: 138,138, 139,139, 142,173, 142,174,
1256: 140,140, 143,143, 147,178, 152,47,
1257: 145,88, 146,47, 149,149, 150,180,
1258: 153,153, 151,182, 0,0, 0,0,
1259: 147,178, 147,179, 0,0, 148,148,
1260: 150,0, 0,0, 151,0, 142,174,
1261: 160,0, 157,185, 162,0, 152,47,
1262: 155,155, 148,148, 148,148, 164,0,
1263: 153,153, 158,158, 157,0, 166,0,
1264: 0,0, 147,179, 168,0, 170,0,
1265: 0,0, 146,176, 0,0, 173,0,
1266: 150,180, 146,177, 151,182, 145,175,
1267: 155,155, 175,0, 148,148, 0,0,
1268: 0,0, 158,158, 150,180, 150,181,
1269: 151,182, 151,183, 157,185, 160,160,
1270: 0,0, 162,162, 178,0, 172,187,
1271: 180,0, 0,0, 164,164, 176,189,
1272: 157,185, 157,186, 166,166, 152,184,
1273: 172,0, 168,168, 170,170, 150,181,
1274: 176,0, 151,183, 173,173, 160,160,
1275: 0,0, 162,162, 177,191, 182,0,
1276: 175,88, 185,0, 164,164, 187,0,
1277: 189,0, 157,186, 166,166, 177,0,
1278: 0,0, 168,168, 170,170, 191,0,
1279: 172,187, 178,178, 173,173, 180,180,
1280: 176,189, 0,0, 193,0, 0,0,
1281: 175,88, 0,0, 172,187, 172,188,
1282: 0,0, 0,0, 176,189, 176,190,
1283: 184,193, 0,0, 0,0, 177,191,
1284: 0,0, 178,178, 182,182, 180,180,
1285: 185,185, 184,0, 187,187, 189,189,
1286: 0,0, 177,191, 177,192, 172,188,
1287: 0,0, 0,0, 191,191, 176,190,
1288: 0,0, 0,0, 0,0, 0,0,
1289: 0,0, 193,193, 182,182, 0,0,
1290: 185,185, 0,0, 187,187, 189,189,
1291: 0,0, 184,193, 177,192, 0,0,
1292: 0,0, 0,0, 191,191, 0,0,
1293: 0,0, 0,0, 0,0, 184,193,
1294: 184,194, 193,193, 0,0, 0,0,
1295: 0,0, 0,0, 0,0, 0,0,
1296: 0,0, 0,0, 0,0, 0,0,
1297: 0,0, 0,0, 0,0, 0,0,
1298: 0,0, 0,0, 0,0, 0,0,
1299: 184,194, 0,0, 0,0, 0,0,
1300: 0,0};
1301: struct yysvf yysvec[] ={
1302: 0, 0, 0,
1303: yycrank+1, 0, 0,
1304: yycrank+114, 0, 0,
1305: yycrank+0, 0, yyvstop+1,
1306: yycrank+192, 0, yyvstop+3,
1307: yycrank+1, 0, 0,
1308: yycrank+0, yysvec+5, yyvstop+5,
1309: yycrank+-314, 0, 0,
1310: yycrank+2, yysvec+4, yyvstop+7,
1311: yycrank+34, yysvec+4, yyvstop+9,
1312: yycrank+35, yysvec+4, yyvstop+11,
1313: yycrank+39, yysvec+4, yyvstop+13,
1314: yycrank+36, yysvec+4, yyvstop+15,
1315: yycrank+37, yysvec+4, yyvstop+17,
1316: yycrank+225, yysvec+4, yyvstop+19,
1317: yycrank+92, yysvec+4, yyvstop+21,
1318: yycrank+226, yysvec+4, yyvstop+23,
1319: yycrank+38, yysvec+4, yyvstop+25,
1320: yycrank+228, yysvec+4, yyvstop+27,
1321: yycrank+-316, 0, yyvstop+29,
1322: yycrank+230, yysvec+4, yyvstop+31,
1323: yycrank+-318, 0, 0,
1324: yycrank+-2, yysvec+7, 0,
1325: yycrank+0, 0, yyvstop+33,
1326: yycrank+-320, 0, yyvstop+35,
1327: yycrank+-333, 0, yyvstop+37,
1328: yycrank+28, yysvec+4, yyvstop+39,
1329: yycrank+141, yysvec+4, yyvstop+41,
1330: yycrank+-346, 0, yyvstop+43,
1331: yycrank+29, yysvec+4, yyvstop+45,
1332: yycrank+29, yysvec+4, yyvstop+47,
1333: yycrank+12, yysvec+4, yyvstop+49,
1334: yycrank+25, yysvec+4, yyvstop+51,
1335: yycrank+26, yysvec+4, yyvstop+53,
1336: yycrank+27, yysvec+4, yyvstop+55,
1337: yycrank+28, yysvec+4, yyvstop+57,
1338: yycrank+29, yysvec+4, yyvstop+59,
1339: yycrank+46, yysvec+4, yyvstop+61,
1340: yycrank+33, yysvec+4, yyvstop+63,
1341: yycrank+32, yysvec+4, yyvstop+65,
1342: yycrank+32, yysvec+4, yyvstop+67,
1343: yycrank+35, yysvec+4, yyvstop+69,
1344: yycrank+46, yysvec+4, yyvstop+71,
1345: yycrank+50, yysvec+4, yyvstop+73,
1346: yycrank+52, yysvec+4, yyvstop+75,
1347: yycrank+-365, 0, yyvstop+77,
1348: yycrank+-391, 0, yyvstop+79,
1349: yycrank+-306, yysvec+46, yyvstop+81,
1350: yycrank+-393, 0, yyvstop+84,
1351: yycrank+-308, yysvec+46, yyvstop+86,
1352: yycrank+-395, 0, yyvstop+89,
1353: yycrank+-323, yysvec+46, yyvstop+92,
1354: yycrank+-418, 0, yyvstop+95,
1355: yycrank+-339, yysvec+46, yyvstop+98,
1356: yycrank+-440, 0, yyvstop+101,
1357: yycrank+77, yysvec+4, yyvstop+104,
1358: yycrank+104, yysvec+4, yyvstop+106,
1359: yycrank+-48, yysvec+21, yyvstop+108,
1360: yycrank+0, 0, yyvstop+110,
1361: yycrank+-377, yysvec+24, yyvstop+112,
1362: yycrank+-51, yysvec+24, yyvstop+114,
1363: yycrank+-379, yysvec+25, yyvstop+117,
1364: yycrank+-52, yysvec+25, yyvstop+119,
1365: yycrank+56, yysvec+4, yyvstop+122,
1366: yycrank+-444, 0, yyvstop+124,
1367: yycrank+-447, 0, yyvstop+126,
1368: yycrank+109, yysvec+4, yyvstop+128,
1369: yycrank+-402, yysvec+28, yyvstop+130,
1370: yycrank+-53, yysvec+28, yyvstop+132,
1371: yycrank+-463, 0, yyvstop+135,
1372: yycrank+142, yysvec+4, yyvstop+137,
1373: yycrank+-469, 0, yyvstop+139,
1374: yycrank+-476, 0, yyvstop+141,
1375: yycrank+-492, 0, yyvstop+143,
1376: yycrank+-505, 0, yyvstop+145,
1377: yycrank+-521, 0, yyvstop+147,
1378: yycrank+-528, 0, yyvstop+149,
1379: yycrank+-534, 0, yyvstop+151,
1380: yycrank+-546, 0, yyvstop+153,
1381: yycrank+65, yysvec+4, yyvstop+155,
1382: yycrank+-551, 0, yyvstop+157,
1383: yycrank+-553, 0, yyvstop+159,
1384: yycrank+-591, 0, yyvstop+161,
1385: yycrank+-593, 0, yyvstop+164,
1386: yycrank+-599, 0, yyvstop+167,
1387: yycrank+62, yysvec+4, yyvstop+169,
1388: yycrank+-605, 0, yyvstop+171,
1389: yycrank+-607, 0, yyvstop+173,
1390: yycrank+-406, yysvec+87, yyvstop+175,
1391: yycrank+-557, yysvec+87, yyvstop+178,
1392: yycrank+-198, yysvec+48, yyvstop+181,
1393: yycrank+-459, yysvec+46, yyvstop+184,
1394: yycrank+-451, yysvec+50, yyvstop+187,
1395: yycrank+-230, yysvec+50, yyvstop+190,
1396: yycrank+-595, yysvec+46, yyvstop+194,
1397: yycrank+-644, 0, yyvstop+197,
1398: yycrank+-480, yysvec+95, yyvstop+200,
1399: yycrank+-647, 0, yyvstop+204,
1400: yycrank+-488, yysvec+46, yyvstop+208,
1401: yycrank+-652, 0, yyvstop+211,
1402: yycrank+-565, yysvec+99, yyvstop+214,
1403: yycrank+-670, 0, yyvstop+218,
1404: yycrank+-674, 0, yyvstop+222,
1405: yycrank+132, yysvec+4, yyvstop+224,
1406: yycrank+-689, 0, yyvstop+226,
1407: yycrank+-693, 0, yyvstop+228,
1408: yycrank+-697, 0, yyvstop+230,
1409: yycrank+-567, yysvec+64, yyvstop+232,
1410: yycrank+-232, yysvec+64, yyvstop+234,
1411: yycrank+-614, yysvec+65, yyvstop+237,
1412: yycrank+-233, yysvec+65, yyvstop+239,
1413: yycrank+-715, 0, yyvstop+242,
1414: yycrank+-719, 0, yyvstop+244,
1415: yycrank+-618, yysvec+69, yyvstop+246,
1416: yycrank+-234, yysvec+69, yyvstop+248,
1417: yycrank+-742, 0, yyvstop+251,
1418: yycrank+-755, 0, yyvstop+253,
1419: yycrank+-637, yysvec+71, yyvstop+255,
1420: yycrank+-235, yysvec+71, yyvstop+257,
1421: yycrank+-656, yysvec+72, yyvstop+260,
1422: yycrank+-238, yysvec+72, yyvstop+262,
1423: yycrank+-683, yysvec+73, yyvstop+265,
1424: yycrank+-239, yysvec+73, yyvstop+267,
1425: yycrank+-685, yysvec+74, yyvstop+270,
1426: yycrank+-240, yysvec+74, yyvstop+272,
1427: yycrank+-701, yysvec+75, yyvstop+275,
1428: yycrank+-242, yysvec+75, yyvstop+277,
1429: yycrank+-716, yysvec+76, yyvstop+280,
1430: yycrank+-243, yysvec+76, yyvstop+282,
1431: yycrank+-726, yysvec+77, yyvstop+285,
1432: yycrank+-244, yysvec+77, yyvstop+287,
1433: yycrank+-730, yysvec+78, yyvstop+290,
1434: yycrank+-245, yysvec+78, yyvstop+292,
1435: yycrank+151, yysvec+4, yyvstop+295,
1436: yycrank+-737, yysvec+80, yyvstop+297,
1437: yycrank+-275, yysvec+80, yyvstop+299,
1438: yycrank+-758, yysvec+81, yyvstop+302,
1439: yycrank+-277, yysvec+81, yyvstop+304,
1440: yycrank+-759, yysvec+82, yyvstop+307,
1441: yycrank+-760, yysvec+83, yyvstop+309,
1442: yycrank+-763, yysvec+84, yyvstop+311,
1443: yycrank+-310, yysvec+84, yyvstop+313,
1444: yycrank+-782, 0, yyvstop+316,
1445: yycrank+-764, yysvec+86, yyvstop+318,
1446: yycrank+-319, yysvec+86, yyvstop+320,
1447: yycrank+-767, yysvec+87, yyvstop+323,
1448: yycrank+-768, yysvec+46, yyvstop+326,
1449: yycrank+-796, 0, yyvstop+329,
1450: yycrank+-809, 0, yyvstop+332,
1451: yycrank+-769, yysvec+148, yyvstop+336,
1452: yycrank+-834, 0, yyvstop+341,
1453: yycrank+-836, 0, yyvstop+346,
1454: yycrank+-786, yysvec+46, yyvstop+351,
1455: yycrank+-791, yysvec+101, yyvstop+354,
1456: yycrank+-321, yysvec+101, yyvstop+358,
1457: yycrank+-807, yysvec+102, yyvstop+363,
1458: yycrank+-322, yysvec+102, yyvstop+365,
1459: yycrank+-848, 0, yyvstop+368,
1460: yycrank+-812, yysvec+104, yyvstop+370,
1461: yycrank+-325, yysvec+104, yyvstop+372,
1462: yycrank+-838, yysvec+105, yyvstop+375,
1463: yycrank+-326, yysvec+105, yyvstop+377,
1464: yycrank+-840, yysvec+106, yyvstop+380,
1465: yycrank+-328, yysvec+106, yyvstop+382,
1466: yycrank+-845, yysvec+111, yyvstop+385,
1467: yycrank+-331, yysvec+111, yyvstop+387,
1468: yycrank+-849, yysvec+112, yyvstop+390,
1469: yycrank+-334, yysvec+112, yyvstop+392,
1470: yycrank+-852, yysvec+115, yyvstop+395,
1471: yycrank+-336, yysvec+115, yyvstop+397,
1472: yycrank+-853, yysvec+116, yyvstop+400,
1473: yycrank+-345, yysvec+116, yyvstop+402,
1474: yycrank+-886, 0, yyvstop+405,
1475: yycrank+-857, yysvec+142, yyvstop+407,
1476: yycrank+-347, yysvec+142, yyvstop+409,
1477: yycrank+-863, yysvec+87, yyvstop+412,
1478: yycrank+-890, 0, yyvstop+416,
1479: yycrank+-905, 0, yyvstop+419,
1480: yycrank+-876, yysvec+147, yyvstop+422,
1481: yycrank+-359, yysvec+147, yyvstop+425,
1482: yycrank+-878, yysvec+150, yyvstop+429,
1483: yycrank+-360, yysvec+150, yyvstop+434,
1484: yycrank+-897, yysvec+151, yyvstop+440,
1485: yycrank+-362, yysvec+151, yyvstop+445,
1486: yycrank+-935, 0, yyvstop+451,
1487: yycrank+-899, yysvec+157, yyvstop+454,
1488: yycrank+-366, yysvec+157, yyvstop+456,
1489: yycrank+-901, yysvec+172, yyvstop+459,
1490: yycrank+-372, yysvec+172, yyvstop+461,
1491: yycrank+-902, yysvec+176, yyvstop+464,
1492: yycrank+-376, yysvec+176, yyvstop+467,
1493: yycrank+-909, yysvec+177, yyvstop+471,
1494: yycrank+-383, yysvec+177, yyvstop+474,
1495: yycrank+-916, yysvec+184, yyvstop+478,
1496: yycrank+-385, yysvec+184, yyvstop+481,
1497: 0, 0, 0};
1498: struct yywork *yytop = yycrank+1000;
1499: struct yysvf *yybgin = yysvec+1;
1500: char yymatch[] ={
1501: 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1502: 01 ,01 ,012 ,01 ,01 ,01 ,01 ,01 ,
1503: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1504: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1505: 01 ,01 ,'"' ,01 ,01 ,01 ,01 ,01 ,
1506: 01 ,01 ,01 ,01 ,',' ,'-' ,01 ,01 ,
1507: '"' ,'"' ,'"' ,'"' ,'"' ,'"' ,'"' ,'"' ,
1508: '"' ,'"' ,01 ,'"' ,01 ,01 ,01 ,01 ,
1509: 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1510: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1511: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1512: 'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,01 ,
1513: 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1514: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1515: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
1516: 'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,01 ,
1517: 0};
1518: char yyextra[] ={
1519: 0,0,0,0,0,0,0,0,
1520: 0,0,0,0,0,0,0,0,
1521: 0,0,0,0,0,0,0,0,
1522: 0,0,0,0,0,0,0,0,
1523: 0,0,0,0,0,0,0,0,
1524: 0,0,0,0,0,0,0,0,
1525: 0,0,0,0,0,0,0,0,
1526: 0};
1527: /* ncform 4.1 83/08/11 */
1528:
1529: int yylineno =1;
1530: # define YYU(x) x
1531: # define NLSTATE yyprevious=YYNEWLINE
1532: char yytext[YYLMAX];
1533: struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
1534: char yysbuf[YYLMAX];
1535: char *yysptr = yysbuf;
1536: int *yyfnd;
1537: extern struct yysvf *yyestate;
1538: int yyprevious = YYNEWLINE;
1539: yylook(){
1540: register struct yysvf *yystate, **lsp;
1541: register struct yywork *yyt;
1542: struct yysvf *yyz;
1543: int yych;
1544: struct yywork *yyr;
1545: # ifdef LEXDEBUG
1546: int debug;
1547: # endif
1548: char *yylastch;
1549: /* start off machines */
1550: # ifdef LEXDEBUG
1551: debug = 0;
1552: # endif
1553: if (!yymorfg)
1554: yylastch = yytext;
1555: else {
1556: yymorfg=0;
1557: yylastch = yytext+yyleng;
1558: }
1559: for(;;){
1560: lsp = yylstate;
1561: yyestate = yystate = yybgin;
1562: if (yyprevious==YYNEWLINE) yystate++;
1563: for (;;){
1564: # ifdef LEXDEBUG
1565: if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
1566: # endif
1567: yyt = yystate->yystoff;
1568: if(yyt == yycrank){ /* may not be any transitions */
1569: yyz = yystate->yyother;
1570: if(yyz == 0)break;
1571: if(yyz->yystoff == yycrank)break;
1572: }
1573: *yylastch++ = yych = input();
1574: tryagain:
1575: # ifdef LEXDEBUG
1576: if(debug){
1577: fprintf(yyout,"char ");
1578: allprint(yych);
1579: putchar('\n');
1580: }
1581: # endif
1582: yyr = yyt;
1583: if ( (int)yyt > (int)yycrank){
1584: yyt = yyr + yych;
1585: if (yyt <= yytop && yyt->verify+yysvec == yystate){
1586: if(yyt->advance+yysvec == YYLERR) /* error transitions */
1587: {unput(*--yylastch);break;}
1588: *lsp++ = yystate = yyt->advance+yysvec;
1589: goto contin;
1590: }
1591: }
1592: # ifdef YYOPTIM
1593: else if((int)yyt < (int)yycrank) { /* r < yycrank */
1594: yyt = yyr = yycrank+(yycrank-yyt);
1595: # ifdef LEXDEBUG
1596: if(debug)fprintf(yyout,"compressed state\n");
1597: # endif
1598: yyt = yyt + yych;
1599: if(yyt <= yytop && yyt->verify+yysvec == yystate){
1600: if(yyt->advance+yysvec == YYLERR) /* error transitions */
1601: {unput(*--yylastch);break;}
1602: *lsp++ = yystate = yyt->advance+yysvec;
1603: goto contin;
1604: }
1605: yyt = yyr + YYU(yymatch[yych]);
1606: # ifdef LEXDEBUG
1607: if(debug){
1608: fprintf(yyout,"try fall back character ");
1609: allprint(YYU(yymatch[yych]));
1610: putchar('\n');
1611: }
1612: # endif
1613: if(yyt <= yytop && yyt->verify+yysvec == yystate){
1614: if(yyt->advance+yysvec == YYLERR) /* error transition */
1615: {unput(*--yylastch);break;}
1616: *lsp++ = yystate = yyt->advance+yysvec;
1617: goto contin;
1618: }
1619: }
1620: if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
1621: # ifdef LEXDEBUG
1622: if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
1623: # endif
1624: goto tryagain;
1625: }
1626: # endif
1627: else
1628: {unput(*--yylastch);break;}
1629: contin:
1630: # ifdef LEXDEBUG
1631: if(debug){
1632: fprintf(yyout,"state %d char ",yystate-yysvec-1);
1633: allprint(yych);
1634: putchar('\n');
1635: }
1636: # endif
1637: ;
1638: }
1639: # ifdef LEXDEBUG
1640: if(debug){
1641: fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
1642: allprint(yych);
1643: putchar('\n');
1644: }
1645: # endif
1646: while (lsp-- > yylstate){
1647: *yylastch-- = 0;
1648: if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
1649: yyolsp = lsp;
1650: if(yyextra[*yyfnd]){ /* must backup */
1651: while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
1652: lsp--;
1653: unput(*yylastch--);
1654: }
1655: }
1656: yyprevious = YYU(*yylastch);
1657: yylsp = lsp;
1658: yyleng = yylastch-yytext+1;
1659: yytext[yyleng] = 0;
1660: # ifdef LEXDEBUG
1661: if(debug){
1662: fprintf(yyout,"\nmatch ");
1663: sprint(yytext);
1664: fprintf(yyout," action %d\n",*yyfnd);
1665: }
1666: # endif
1667: return(*yyfnd++);
1668: }
1669: unput(*yylastch);
1670: }
1671: if (yytext[0] == 0 /* && feof(yyin) */)
1672: {
1673: yysptr=yysbuf;
1674: return(0);
1675: }
1676: yyprevious = yytext[0] = input();
1677: if (yyprevious>0)
1678: output(yyprevious);
1679: yylastch=yytext;
1680: # ifdef LEXDEBUG
1681: if(debug)putchar('\n');
1682: # endif
1683: }
1684: }
1685: yyback(p, m)
1686: int *p;
1687: {
1688: if (p==0) return(0);
1689: while (*p)
1690: {
1691: if (*p++ == m)
1692: return(1);
1693: }
1694: return(0);
1695: }
1696: /* the following are only used in the lex library */
1697: yyinput(){
1698: return(input());
1699: }
1700: yyoutput(c)
1701: int c; {
1702: output(c);
1703: }
1704: yyunput(c)
1705: int c; {
1706: unput(c);
1707: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.