home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / exampleCode / audio / DAT / lex.yy.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  17.0 KB  |  1,053 lines

  1. # include "stdio.h"
  2. # define U(x) ((unsigned char)(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) (void)putc(c,yyout)
  11. #if defined(__cplusplus) || defined(__STDC__)
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.     int yylex(void);
  17.     int yyback(int *, int);
  18.     int yyinput(void);
  19.     int yylook(void);
  20.     void yyoutput(int);
  21.     int yyracc(int);
  22.     int yyreject(void);
  23.     void yyunput(int);
  24. #ifndef yyless
  25.     void yyless(int);
  26. #endif
  27. #ifndef yywrap
  28.     int yywrap(void);
  29. #endif
  30. #ifdef __cplusplus
  31. }
  32. #endif
  33.  
  34. #endif
  35.  
  36. # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
  37. # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
  38. # define yymore() (yymorfg=1)
  39. # define ECHO (void)fprintf(yyout, "%s",yytext)
  40. # define REJECT { nstr = yyreject(); goto yyfussy;}
  41. int yyleng; extern char yytext[];
  42. int yymorfg;
  43. extern char *yysptr, yysbuf[];
  44. int yytchar;
  45. FILE *yyin = {stdin}, *yyout = {stdout};
  46. extern int yylineno;
  47. struct yysvf { 
  48.     struct yywork *yystoff;
  49.     struct yysvf *yyother;
  50.     int *yystops;};
  51. struct yysvf *yyestate;
  52. extern struct yysvf yysvec[], *yybgin;
  53. #include "y.tab.h"
  54. extern int yylval;
  55. char last_string[81];
  56. # define YYNEWLINE 10
  57. yylex(){
  58. int nstr; extern int yyprevious;
  59. while((nstr = yylook()) >= 0)
  60. yyfussy: switch(nstr){
  61. case 0:
  62. if(yywrap()) return(0); break;
  63. case 1:
  64.  
  65. # line 7 "commands.l"
  66.     return(QUIT);
  67. break;
  68. case 2:
  69.  
  70. # line 8 "commands.l"
  71.     return(LEADIN);
  72. break;
  73. case 3:
  74.  
  75. # line 9 "commands.l"
  76.     return(LEADOUT);
  77. break;
  78. case 4:
  79.  
  80. # line 10 "commands.l"
  81.     return(BOT);
  82. break;
  83. case 5:
  84.  
  85. # line 11 "commands.l"
  86.     return(EOT);
  87. break;
  88. case 6:
  89.  
  90. # line 12 "commands.l"
  91.     return(RATE);
  92. break;
  93. case 7:
  94.  
  95. # line 13 "commands.l"
  96. return(COPY);
  97. break;
  98. case 8:
  99.  
  100. # line 14 "commands.l"
  101.     return(PROGRAM);
  102. break;
  103. case 9:
  104.  
  105. # line 15 "commands.l"
  106.     return(INDEX);
  107. break;
  108. case 10:
  109.  
  110. # line 16 "commands.l"
  111.     return(PAUSE);
  112. break;
  113. case 11:
  114.  
  115. # line 17 "commands.l"
  116.     return(SILENCE);
  117. break;
  118. case 12:
  119.  
  120. # line 18 "commands.l"
  121.     return(TESTPAT);
  122. break;
  123. case 13:
  124.  
  125. # line 19 "commands.l"
  126.     return(FWRITE);
  127. break;
  128. case 14:
  129.  
  130. # line 20 "commands.l"
  131.     return(FREAD);
  132. break;
  133. case 15:
  134.  
  135. # line 21 "commands.l"
  136.     return(WHERE);
  137. break;
  138. case 16:
  139.  
  140. # line 22 "commands.l"
  141.     return(WHERENOT);
  142. break;
  143. case 17:
  144.  
  145. # line 23 "commands.l"
  146.     return(FRAMES);
  147. break;
  148. case 18:
  149.  
  150. # line 24 "commands.l"
  151. return(READFRAME);
  152. break;
  153. case 19:
  154.  
  155. # line 25 "commands.l"
  156.     return(SEEK);
  157. break;
  158. case 20:
  159.  
  160. # line 26 "commands.l"
  161.     { yylval = atoi(yytext); return(INTEGER); }
  162. break;
  163. case 21:
  164.  
  165. # line 27 "commands.l"
  166.     { yylval = 1; return(BOOLEAN); }
  167. break;
  168. case 22:
  169.  
  170. # line 28 "commands.l"
  171.     { yylval = 1; return(BOOLEAN); }
  172. break;
  173. case 23:
  174.  
  175. # line 29 "commands.l"
  176.     { yylval = 0; return(BOOLEAN); }
  177. break;
  178. case 24:
  179.  
  180. # line 30 "commands.l"
  181.     { yylval = 0; return(BOOLEAN); }
  182. break;
  183. case 25:
  184.  
  185. # line 31 "commands.l"
  186.     return(PROGNUM);
  187. break;
  188. case 26:
  189.  
  190. # line 32 "commands.l"
  191.     return(ATIME);
  192. break;
  193. case 27:
  194.  
  195. # line 33 "commands.l"
  196.     return(PTIME);
  197. break;
  198. case 28:
  199.  
  200. # line 34 "commands.l"
  201.     return(COLON);
  202. break;
  203. case 29:
  204.  
  205. # line 35 "commands.l"
  206.         strncpy(last_string, yytext, 80);
  207.         last_string[80] = 0;
  208.         return(STRING);
  209.     }
  210. break;
  211. case 30:
  212.  
  213. # line 40 "commands.l"
  214. return(COMMENT);
  215. break;
  216. case -1:
  217. break;
  218. default:
  219. (void)fprintf(yyout,"bad switch yylook %d",nstr);
  220. } return(0); }
  221. /* end of yylex */
  222. int yyvstop[] = {
  223. 0,
  224.  
  225. 29,
  226. 0,
  227.  
  228. 29,
  229. -30,
  230. 0,
  231.  
  232. 20,
  233. 29,
  234. 0,
  235.  
  236. 28,
  237. 0,
  238.  
  239. 29,
  240. 0,
  241.  
  242. 29,
  243. 0,
  244.  
  245. 29,
  246. 0,
  247.  
  248. 29,
  249. 0,
  250.  
  251. 29,
  252. 0,
  253.  
  254. 29,
  255. 0,
  256.  
  257. 23,
  258. 29,
  259. 0,
  260.  
  261. 29,
  262. 0,
  263.  
  264. 29,
  265. 0,
  266.  
  267. 29,
  268. 0,
  269.  
  270. 29,
  271. 0,
  272.  
  273. 29,
  274. 0,
  275.  
  276. 29,
  277. 0,
  278.  
  279. 21,
  280. 29,
  281. 0,
  282.  
  283. 30,
  284. 0,
  285.  
  286. -30,
  287. 0,
  288.  
  289. 26,
  290. 29,
  291. 0,
  292.  
  293. 29,
  294. 0,
  295.  
  296. 29,
  297. 0,
  298.  
  299. 29,
  300. 0,
  301.  
  302. 29,
  303. 0,
  304.  
  305. 29,
  306. 0,
  307.  
  308. 24,
  309. 29,
  310. 0,
  311.  
  312. 29,
  313. 0,
  314.  
  315. 25,
  316. 29,
  317. 0,
  318.  
  319. 29,
  320. 0,
  321.  
  322. 27,
  323. 29,
  324. 0,
  325.  
  326. 29,
  327. 0,
  328.  
  329. 29,
  330. 0,
  331.  
  332. 29,
  333. 0,
  334.  
  335. 29,
  336. 0,
  337.  
  338. 29,
  339. 0,
  340.  
  341. 29,
  342. 0,
  343.  
  344. 29,
  345. 0,
  346.  
  347. 29,
  348. 0,
  349.  
  350. 29,
  351. 0,
  352.  
  353. 4,
  354. 29,
  355. 0,
  356.  
  357. 5,
  358. 29,
  359. 0,
  360.  
  361. 29,
  362. 0,
  363.  
  364. 29,
  365. 0,
  366.  
  367. 29,
  368. 0,
  369.  
  370. 29,
  371. 0,
  372.  
  373. 29,
  374. 0,
  375.  
  376. 29,
  377. 0,
  378.  
  379. 29,
  380. 0,
  381.  
  382. 29,
  383. 0,
  384.  
  385. 29,
  386. 0,
  387.  
  388. 29,
  389. 0,
  390.  
  391. 29,
  392. 0,
  393.  
  394. 29,
  395. 0,
  396.  
  397. 29,
  398. 0,
  399.  
  400. 22,
  401. 29,
  402. 0,
  403.  
  404. 29,
  405. 0,
  406.  
  407. 29,
  408. 0,
  409.  
  410. 29,
  411. 0,
  412.  
  413. 29,
  414. 0,
  415.  
  416. 29,
  417. 0,
  418.  
  419. 29,
  420. 0,
  421.  
  422. 1,
  423. 29,
  424. 0,
  425.  
  426. 6,
  427. 29,
  428. 0,
  429.  
  430. 14,
  431. 29,
  432. 0,
  433.  
  434. 19,
  435. 29,
  436. 0,
  437.  
  438. 29,
  439. 0,
  440.  
  441. 29,
  442. 0,
  443.  
  444. 29,
  445. 0,
  446.  
  447. 29,
  448. 0,
  449.  
  450. 29,
  451. 0,
  452.  
  453. 9,
  454. 29,
  455. 0,
  456.  
  457. 29,
  458. 0,
  459.  
  460. 29,
  461. 0,
  462.  
  463. 10,
  464. 29,
  465. 0,
  466.  
  467. 29,
  468. 0,
  469.  
  470. 29,
  471. 0,
  472.  
  473. 29,
  474. 0,
  475.  
  476. 29,
  477. 0,
  478.  
  479. 29,
  480. 0,
  481.  
  482. 29,
  483. 0,
  484.  
  485. 15,
  486. 29,
  487. 0,
  488.  
  489. 13,
  490. 29,
  491. 0,
  492.  
  493. 17,
  494. 29,
  495. 0,
  496.  
  497. 2,
  498. 29,
  499. 0,
  500.  
  501. 29,
  502. 0,
  503.  
  504. 29,
  505. 0,
  506.  
  507. 29,
  508. 0,
  509.  
  510. 29,
  511. 0,
  512.  
  513. 29,
  514. 0,
  515.  
  516. 29,
  517. 0,
  518.  
  519. 29,
  520. 0,
  521.  
  522. 3,
  523. 29,
  524. 0,
  525.  
  526. 8,
  527. 29,
  528. 0,
  529.  
  530. 29,
  531. 0,
  532.  
  533. 29,
  534. 0,
  535.  
  536. 16,
  537. 29,
  538. 0,
  539.  
  540. 11,
  541. 29,
  542. 0,
  543.  
  544. 12,
  545. 29,
  546. 0,
  547.  
  548. 7,
  549. 29,
  550. 0,
  551.  
  552. 29,
  553. 0,
  554.  
  555. 18,
  556. 29,
  557. 0,
  558. 0};
  559. # define YYTYPE unsigned char
  560. struct yywork { YYTYPE verify, advance; } yycrank[] = {
  561. 0,0,    0,0,    0,0,    0,0,    
  562. 0,0,    0,0,    0,0,    0,0,    
  563. 0,0,    0,0,    0,0,    0,0,    
  564. 0,0,    0,0,    0,0,    0,0,    
  565. 0,0,    0,0,    0,0,    0,0,    
  566. 0,0,    0,0,    0,0,    0,0,    
  567. 0,0,    0,0,    0,0,    0,0,    
  568. 0,0,    0,0,    0,0,    0,0,    
  569. 0,0,    0,0,    1,3,    0,0,    
  570. 1,4,    1,3,    1,3,    1,3,    
  571. 0,0,    1,3,    1,3,    1,3,    
  572. 1,3,    0,0,    0,0,    1,3,    
  573. 1,3,    1,5,    1,5,    1,5,    
  574. 1,5,    1,5,    1,5,    1,5,    
  575. 1,5,    1,5,    1,5,    1,6,    
  576. 0,0,    1,3,    1,3,    1,3,    
  577. 0,0,    1,3,    1,3,    1,3,    
  578. 1,3,    1,3,    1,3,    1,3,    
  579. 1,3,    1,3,    1,3,    1,3,    
  580. 1,3,    1,3,    1,3,    1,3,    
  581. 1,3,    1,3,    1,3,    1,3,    
  582. 1,3,    1,3,    1,3,    1,3,    
  583. 1,3,    1,3,    1,3,    1,3,    
  584. 0,0,    0,0,    0,0,    1,3,    
  585. 1,3,    0,0,    1,7,    1,8,    
  586. 1,3,    1,3,    1,9,    1,10,    
  587. 1,3,    1,3,    1,11,    1,3,    
  588. 1,3,    1,12,    1,3,    1,13,    
  589. 1,3,    1,14,    1,15,    1,16,    
  590. 1,17,    1,18,    1,3,    1,3,    
  591. 1,19,    1,3,    1,20,    1,3,    
  592. 0,0,    0,0,    3,3,    1,3,    
  593. 3,3,    3,3,    3,3,    3,3,    
  594. 0,0,    3,3,    3,3,    3,3,    
  595. 3,3,    0,0,    0,0,    3,3,    
  596. 3,3,    3,3,    3,3,    3,3,    
  597. 3,3,    3,3,    3,3,    3,3,    
  598. 3,3,    3,3,    3,3,    12,28,    
  599. 11,27,    3,3,    3,3,    3,3,    
  600. 8,24,    3,3,    3,3,    3,3,    
  601. 3,3,    3,3,    3,3,    3,3,    
  602. 3,3,    3,3,    3,3,    3,3,    
  603. 3,3,    3,3,    3,3,    3,3,    
  604. 3,3,    3,3,    3,3,    3,3,    
  605. 3,3,    3,3,    3,3,    3,3,    
  606. 3,3,    3,3,    3,3,    3,3,    
  607. 7,23,    9,25,    10,26,    3,3,    
  608. 3,3,    13,29,    3,3,    3,3,    
  609. 3,3,    3,3,    3,3,    3,3,    
  610. 3,3,    3,3,    3,3,    3,3,    
  611. 3,3,    3,3,    3,3,    3,3,    
  612. 3,3,    3,3,    3,3,    3,3,    
  613. 3,3,    3,3,    3,3,    3,3,    
  614. 3,3,    3,3,    3,3,    3,3,    
  615. 4,21,    14,30,    15,34,    3,3,    
  616. 5,5,    5,5,    5,5,    5,5,    
  617. 5,5,    5,5,    5,5,    5,5,    
  618. 5,5,    5,5,    14,31,    16,35,    
  619. 18,39,    17,37,    14,32,    16,36,    
  620. 14,33,    17,38,    4,22,    4,4,    
  621. 4,22,    4,4,    4,4,    4,4,    
  622. 4,4,    4,22,    4,4,    4,4,    
  623. 4,4,    4,4,    4,22,    4,22,    
  624. 4,4,    4,4,    4,4,    4,4,    
  625. 4,4,    4,4,    4,4,    4,4,    
  626. 4,4,    4,4,    4,4,    4,4,    
  627. 4,22,    4,22,    4,4,    4,4,    
  628. 4,4,    4,22,    4,4,    4,4,    
  629. 4,4,    4,4,    4,4,    4,4,    
  630. 4,4,    4,4,    4,4,    4,4,    
  631. 4,4,    4,4,    4,4,    4,4,    
  632. 4,4,    4,4,    4,4,    4,4,    
  633. 4,4,    4,4,    4,4,    4,4,    
  634. 4,4,    4,4,    4,4,    4,4,    
  635. 4,4,    20,42,    24,43,    25,44,    
  636. 4,4,    4,4,    4,22,    4,4,    
  637. 4,4,    4,4,    4,4,    4,4,    
  638. 4,4,    4,4,    4,4,    4,4,    
  639. 4,4,    4,4,    4,4,    4,4,    
  640. 4,4,    4,4,    4,4,    4,4,    
  641. 4,4,    4,4,    4,4,    4,4,    
  642. 4,4,    4,4,    4,4,    4,4,    
  643. 4,4,    4,22,    4,22,    4,22,    
  644. 4,4,    19,40,    26,45,    27,46,    
  645. 28,47,    22,22,    30,48,    22,22,    
  646. 22,22,    22,22,    22,22,    19,41,    
  647. 22,22,    22,22,    22,22,    22,22,    
  648. 32,49,    34,50,    22,22,    22,22,    
  649. 22,22,    22,22,    22,22,    22,22,    
  650. 22,22,    22,22,    22,22,    22,22,    
  651. 22,22,    22,22,    35,51,    36,52,    
  652. 22,22,    22,22,    22,22,    37,53,    
  653. 22,22,    22,22,    22,22,    22,22,    
  654. 22,22,    22,22,    22,22,    22,22,    
  655. 22,22,    22,22,    22,22,    22,22,    
  656. 22,22,    22,22,    22,22,    22,22,    
  657. 22,22,    22,22,    22,22,    22,22,    
  658. 22,22,    22,22,    22,22,    22,22,    
  659. 22,22,    22,22,    22,22,    38,54,    
  660. 39,55,    40,56,    22,22,    22,22,    
  661. 41,57,    22,22,    22,22,    22,22,    
  662. 22,22,    22,22,    22,22,    22,22,    
  663. 22,22,    22,22,    22,22,    22,22,    
  664. 22,22,    22,22,    22,22,    22,22,    
  665. 22,22,    22,22,    22,22,    22,22,    
  666. 22,22,    22,22,    22,22,    22,22,    
  667. 22,22,    22,22,    22,22,    42,58,    
  668. 45,59,    46,60,    22,22,    47,61,    
  669. 48,62,    49,63,    49,64,    50,65,    
  670. 51,66,    52,67,    53,68,    54,69,    
  671. 55,70,    56,71,    57,72,    59,73,    
  672. 60,74,    61,75,    62,77,    63,78,    
  673. 64,79,    67,80,    69,82,    61,76,    
  674. 70,83,    71,84,    72,85,    73,86,    
  675. 75,87,    76,88,    78,89,    67,81,    
  676. 79,90,    80,91,    81,92,    82,93,    
  677. 83,94,    88,95,    89,96,    90,97,    
  678. 91,98,    92,99,    93,100,    94,101,    
  679. 97,102,    98,103,    103,104,    0,0,    
  680. 0,0};
  681. struct yysvf yysvec[] = {
  682. 0,    0,    0,
  683. yycrank+1,    0,        0,    
  684. yycrank+0,    yysvec+1,    0,    
  685. yycrank+93,    0,        yyvstop+1,
  686. yycrank+206,    0,        yyvstop+3,
  687. yycrank+172,    yysvec+3,    yyvstop+6,
  688. yycrank+0,    0,        yyvstop+9,
  689. yycrank+68,    yysvec+3,    yyvstop+11,
  690. yycrank+45,    yysvec+3,    yyvstop+13,
  691. yycrank+74,    yysvec+3,    yyvstop+15,
  692. yycrank+72,    yysvec+3,    yyvstop+17,
  693. yycrank+42,    yysvec+3,    yyvstop+19,
  694. yycrank+50,    yysvec+3,    yyvstop+21,
  695. yycrank+78,    yysvec+3,    yyvstop+23,
  696. yycrank+120,    yysvec+3,    yyvstop+26,
  697. yycrank+101,    yysvec+3,    yyvstop+28,
  698. yycrank+134,    yysvec+3,    yyvstop+30,
  699. yycrank+132,    yysvec+3,    yyvstop+32,
  700. yycrank+131,    yysvec+3,    yyvstop+34,
  701. yycrank+229,    yysvec+3,    yyvstop+36,
  702. yycrank+196,    yysvec+3,    yyvstop+38,
  703. yycrank+0,    0,        yyvstop+41,
  704. yycrank+304,    yysvec+4,    yyvstop+43,
  705. yycrank+0,    yysvec+3,    yyvstop+45,
  706. yycrank+182,    yysvec+3,    yyvstop+48,
  707. yycrank+183,    yysvec+3,    yyvstop+50,
  708. yycrank+237,    yysvec+3,    yyvstop+52,
  709. yycrank+235,    yysvec+3,    yyvstop+54,
  710. yycrank+239,    yysvec+3,    yyvstop+56,
  711. yycrank+0,    yysvec+3,    yyvstop+58,
  712. yycrank+221,    yysvec+3,    yyvstop+61,
  713. yycrank+0,    yysvec+3,    yyvstop+63,
  714. yycrank+237,    yysvec+3,    yyvstop+66,
  715. yycrank+0,    yysvec+3,    yyvstop+68,
  716. yycrank+244,    yysvec+3,    yyvstop+71,
  717. yycrank+246,    yysvec+3,    yyvstop+73,
  718. yycrank+266,    yysvec+3,    yyvstop+75,
  719. yycrank+266,    yysvec+3,    yyvstop+77,
  720. yycrank+287,    yysvec+3,    yyvstop+79,
  721. yycrank+281,    yysvec+3,    yyvstop+81,
  722. yycrank+296,    yysvec+3,    yyvstop+83,
  723. yycrank+295,    yysvec+3,    yyvstop+85,
  724. yycrank+312,    yysvec+3,    yyvstop+87,
  725. yycrank+0,    yysvec+3,    yyvstop+89,
  726. yycrank+0,    yysvec+3,    yyvstop+92,
  727. yycrank+319,    yysvec+3,    yyvstop+95,
  728. yycrank+328,    yysvec+3,    yyvstop+97,
  729. yycrank+331,    yysvec+3,    yyvstop+99,
  730. yycrank+317,    yysvec+3,    yyvstop+101,
  731. yycrank+330,    yysvec+3,    yyvstop+103,
  732. yycrank+319,    yysvec+3,    yyvstop+105,
  733. yycrank+335,    yysvec+3,    yyvstop+107,
  734. yycrank+337,    yysvec+3,    yyvstop+109,
  735. yycrank+331,    yysvec+3,    yyvstop+111,
  736. yycrank+338,    yysvec+3,    yyvstop+113,
  737. yycrank+324,    yysvec+3,    yyvstop+115,
  738. yycrank+327,    yysvec+3,    yyvstop+117,
  739. yycrank+326,    yysvec+3,    yyvstop+119,
  740. yycrank+0,    yysvec+3,    yyvstop+121,
  741. yycrank+342,    yysvec+3,    yyvstop+124,
  742. yycrank+324,    yysvec+3,    yyvstop+126,
  743. yycrank+340,    yysvec+3,    yyvstop+128,
  744. yycrank+345,    yysvec+3,    yyvstop+130,
  745. yycrank+333,    yysvec+3,    yyvstop+132,
  746. yycrank+343,    yysvec+3,    yyvstop+134,
  747. yycrank+0,    yysvec+3,    yyvstop+136,
  748. yycrank+0,    yysvec+3,    yyvstop+139,
  749. yycrank+347,    yysvec+3,    yyvstop+142,
  750. yycrank+0,    yysvec+3,    yyvstop+145,
  751. yycrank+340,    yysvec+3,    yyvstop+148,
  752. yycrank+340,    yysvec+3,    yyvstop+150,
  753. yycrank+352,    yysvec+3,    yyvstop+152,
  754. yycrank+353,    yysvec+3,    yyvstop+154,
  755. yycrank+340,    yysvec+3,    yyvstop+156,
  756. yycrank+0,    yysvec+3,    yyvstop+158,
  757. yycrank+346,    yysvec+3,    yyvstop+161,
  758. yycrank+340,    yysvec+3,    yyvstop+163,
  759. yycrank+0,    yysvec+3,    yyvstop+165,
  760. yycrank+361,    yysvec+3,    yyvstop+168,
  761. yycrank+362,    yysvec+3,    yyvstop+170,
  762. yycrank+347,    yysvec+3,    yyvstop+172,
  763. yycrank+351,    yysvec+3,    yyvstop+174,
  764. yycrank+364,    yysvec+3,    yyvstop+176,
  765. yycrank+367,    yysvec+3,    yyvstop+178,
  766. yycrank+0,    yysvec+3,    yyvstop+180,
  767. yycrank+0,    yysvec+3,    yyvstop+183,
  768. yycrank+0,    yysvec+3,    yyvstop+186,
  769. yycrank+0,    yysvec+3,    yyvstop+189,
  770. yycrank+349,    yysvec+3,    yyvstop+192,
  771. yycrank+357,    yysvec+3,    yyvstop+194,
  772. yycrank+362,    yysvec+3,    yyvstop+196,
  773. yycrank+371,    yysvec+3,    yyvstop+198,
  774. yycrank+354,    yysvec+3,    yyvstop+200,
  775. yycrank+369,    yysvec+3,    yyvstop+202,
  776. yycrank+355,    yysvec+3,    yyvstop+204,
  777. yycrank+0,    yysvec+3,    yyvstop+206,
  778. yycrank+0,    yysvec+3,    yyvstop+209,
  779. yycrank+356,    yysvec+3,    yyvstop+212,
  780. yycrank+364,    yysvec+3,    yyvstop+214,
  781. yycrank+0,    yysvec+3,    yyvstop+216,
  782. yycrank+0,    yysvec+3,    yyvstop+219,
  783. yycrank+0,    yysvec+3,    yyvstop+222,
  784. yycrank+0,    yysvec+3,    yyvstop+225,
  785. yycrank+373,    yysvec+3,    yyvstop+228,
  786. yycrank+0,    yysvec+3,    yyvstop+230,
  787. 0,    0,    0};
  788. struct yywork *yytop = yycrank+474;
  789. struct yysvf *yybgin = yysvec+1;
  790. unsigned char yymatch[] = {
  791. 00  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  792. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  793. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  794. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  795. 040 ,'!' ,040 ,'!' ,'!' ,'!' ,'!' ,040 ,
  796. '!' ,'!' ,'!' ,'!' ,040 ,040 ,'!' ,'!' ,
  797. '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,
  798. '0' ,'0' ,040 ,040 ,'!' ,'!' ,'!' ,040 ,
  799. '!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  800. '!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  801. '!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  802. '!' ,'!' ,'!' ,01  ,01  ,01  ,'!' ,'!' ,
  803. 040 ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  804. '!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  805. '!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' ,
  806. '!' ,'!' ,'!' ,040 ,040 ,040 ,'!' ,01  ,
  807. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  808. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  809. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  810. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  811. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  812. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  813. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  814. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  815. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  816. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  817. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  818. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  819. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  820. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  821. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  822. 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
  823. 0};
  824. char yyextra[] = {
  825. 0,0,0,0,0,0,0,0,
  826. 0,0,0,0,0,0,0,0,
  827. 0,0,0,0,0,0,0,0,
  828. 0,0,0,0,0,0,1,0,
  829. 0};
  830. #ident    "$Revision: 1.7 $"
  831.  
  832. int yylineno =1;
  833. # define YYU(x) x
  834. # define NLSTATE yyprevious=YYNEWLINE
  835. char yytext[YYLMAX];
  836. struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
  837. char yysbuf[YYLMAX];
  838. char *yysptr = yysbuf;
  839. int *yyfnd;
  840. extern struct yysvf *yyestate;
  841. int yyprevious = YYNEWLINE;
  842. #if defined(__cplusplus) || defined(__STDC__)
  843. int yylook(void)
  844. #else
  845. yylook()
  846. #endif
  847. {
  848.     register struct yysvf *yystate, **lsp;
  849.     register struct yywork *yyt;
  850.     struct yysvf *yyz;
  851.     int yych, yyfirst;
  852.     struct yywork *yyr;
  853. # ifdef LEXDEBUG
  854.     int debug;
  855. # endif
  856.     char *yylastch;
  857.     /* start off machines */
  858. # ifdef LEXDEBUG
  859.     debug = 0;
  860. # endif
  861.     yyfirst=1;
  862.     if (!yymorfg)
  863.         yylastch = yytext;
  864.     else {
  865.         yymorfg=0;
  866.         yylastch = yytext+yyleng;
  867.         }
  868.     for(;;){
  869.         lsp = yylstate;
  870.         yyestate = yystate = yybgin;
  871.         if (yyprevious==YYNEWLINE) yystate++;
  872.         for (;;){
  873. # ifdef LEXDEBUG
  874.             if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
  875. # endif
  876.             yyt = yystate->yystoff;
  877.             if(yyt == yycrank && !yyfirst){  /* may not be any transitions */
  878.                 yyz = yystate->yyother;
  879.                 if(yyz == 0)break;
  880.                 if(yyz->yystoff == yycrank)break;
  881.                 }
  882.             *yylastch++ = yych = input();
  883.             if(yylastch > &yytext[YYLMAX]) {
  884.                 fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
  885.                 exit(1);
  886.             }
  887.             yyfirst=0;
  888.         tryagain:
  889. # ifdef LEXDEBUG
  890.             if(debug){
  891.                 fprintf(yyout,"char ");
  892.                 allprint(yych);
  893.                 putchar('\n');
  894.                 }
  895. # endif
  896.             yyr = yyt;
  897.             if ( (void *)yyt > (void *)yycrank){
  898.                 yyt = yyr + yych;
  899.                 if (yyt <= yytop && yyt->verify+yysvec == yystate){
  900.                     if(yyt->advance+yysvec == YYLERR)    /* error transitions */
  901.                         {unput(*--yylastch);break;}
  902.                     *lsp++ = yystate = yyt->advance+yysvec;
  903.                     if(lsp > &yylstate[YYLMAX]) {
  904.                         fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
  905.                         exit(1);
  906.                     }
  907.                     goto contin;
  908.                     }
  909.                 }
  910. # ifdef YYOPTIM
  911.             else if((void *)yyt < (void *)yycrank) {    /* r < yycrank */
  912.                 yyt = yyr = yycrank+(yycrank-yyt);
  913. # ifdef LEXDEBUG
  914.                 if(debug)fprintf(yyout,"compressed state\n");
  915. # endif
  916.                 yyt = yyt + yych;
  917.                 if(yyt <= yytop && yyt->verify+yysvec == yystate){
  918.                     if(yyt->advance+yysvec == YYLERR)    /* error transitions */
  919.                         {unput(*--yylastch);break;}
  920.                     *lsp++ = yystate = yyt->advance+yysvec;
  921.                     if(lsp > &yylstate[YYLMAX]) {
  922.                         fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
  923.                         exit(1);
  924.                     }
  925.                     goto contin;
  926.                     }
  927.                 yyt = yyr + YYU(yymatch[yych]);
  928. # ifdef LEXDEBUG
  929.                 if(debug){
  930.                     fprintf(yyout,"try fall back character ");
  931.                     allprint(YYU(yymatch[yych]));
  932.                     putchar('\n');
  933.                     }
  934. # endif
  935.                 if(yyt <= yytop && yyt->verify+yysvec == yystate){
  936.                     if(yyt->advance+yysvec == YYLERR)    /* error transition */
  937.                         {unput(*--yylastch);break;}
  938.                     *lsp++ = yystate = yyt->advance+yysvec;
  939.                     if(lsp > &yylstate[YYLMAX]) {
  940.                         fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
  941.                         exit(1);
  942.                     }
  943.                     goto contin;
  944.                     }
  945.                 }
  946.             if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
  947. # ifdef LEXDEBUG
  948.                 if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
  949. # endif
  950.                 goto tryagain;
  951.                 }
  952. # endif
  953.             else
  954.                 {unput(*--yylastch);break;}
  955.         contin:
  956. # ifdef LEXDEBUG
  957.             if(debug){
  958.                 fprintf(yyout,"state %d char ",yystate-yysvec-1);
  959.                 allprint(yych);
  960.                 putchar('\n');
  961.                 }
  962. # endif
  963.             ;
  964.             }
  965. # ifdef LEXDEBUG
  966.         if(debug){
  967.             fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
  968.             allprint(yych);
  969.             putchar('\n');
  970.             }
  971. # endif
  972.         while (lsp-- > yylstate){
  973.             *yylastch-- = 0;
  974.             if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
  975.                 yyolsp = lsp;
  976.                 if(yyextra[*yyfnd]){        /* must backup */
  977.                     while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
  978.                         lsp--;
  979.                         unput(*yylastch--);
  980.                         }
  981.                     }
  982.                 yyprevious = YYU(*yylastch);
  983.                 yylsp = lsp;
  984.                 yyleng = yylastch-yytext+1;
  985.                 yytext[yyleng] = 0;
  986. # ifdef LEXDEBUG
  987.                 if(debug){
  988.                     fprintf(yyout,"\nmatch ");
  989.                     sprint(yytext);
  990.                     fprintf(yyout," action %d\n",*yyfnd);
  991.                     }
  992. # endif
  993.                 return(*yyfnd++);
  994.                 }
  995.             unput(*yylastch);
  996.             }
  997.         if (yytext[0] == 0  /* && feof(yyin) */)
  998.             {
  999.             yysptr=yysbuf;
  1000.             return(0);
  1001.             }
  1002.         yyprevious = yytext[0] = input();
  1003.         if (yyprevious>0)
  1004.             output(yyprevious);
  1005.         yylastch=yytext;
  1006. # ifdef LEXDEBUG
  1007.         if(debug)putchar('\n');
  1008. # endif
  1009.         }
  1010.     }
  1011. #if defined(__cplusplus) || defined(__STDC__)
  1012. int yyback(int *p, int m)
  1013. #else
  1014. yyback(p, m)
  1015.     int *p;
  1016. #endif
  1017. {
  1018.     if (p==0) return(0);
  1019.     while (*p) {
  1020.         if (*p++ == m)
  1021.             return(1);
  1022.     }
  1023.     return(0);
  1024. }
  1025.     /* the following are only used in the lex library */
  1026. #if defined(__cplusplus) || defined(__STDC__)
  1027. int yyinput(void)
  1028. #else
  1029. yyinput()
  1030. #endif
  1031. {
  1032.     return(input());
  1033.     }
  1034. #if defined(__cplusplus) || defined(__STDC__)
  1035. void yyoutput(int c)
  1036. #else
  1037. yyoutput(c)
  1038.   int c; 
  1039. #endif
  1040. {
  1041.     output(c);
  1042.     }
  1043. #if defined(__cplusplus) || defined(__STDC__)
  1044. void yyunput(int c)
  1045. #else
  1046. yyunput(c)
  1047.    int c; 
  1048. #endif
  1049. {
  1050.     unput(c);
  1051.     }
  1052.