home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / sos3-2.lha / src / scp / scp_lex.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-23  |  19.1 KB  |  1,199 lines

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