home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / fileutil / scan.lha / src / getmajtrms.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-21  |  15.4 KB  |  555 lines

  1. /*
  2.  * Created by Amiga LEX version I.0
  3.  * (adapted by Bill Lee, 1 Jan 87) from file "getmajtrms.lxi"
  4.  *    - for use with stand-alone I/O
  5.  */
  6. #include "lex.h"
  7. #define LL16BIT int
  8. extern int _lmovb();
  9. extern struct lextab *_tabp;
  10. extern int  yyline;
  11. extern char *llend;
  12. int lexval;
  13. char lbuf[256];
  14.  
  15. #line 20
  16.  
  17. #include <exec/types.h>
  18. #include <libraries/dos.h>
  19. #include <libraries/dosextens.h>
  20. #include "scan.h"
  21. #define NewMT     2
  22. #define NewMTEOL  3
  23. extern ErrP();
  24. extern Lines MinArray[MAXMTS];
  25. extern Lines MTArray[MAXMTS];
  26. extern int MajTrm2MinTrm[MAXMTS];
  27. extern int MajTrm2BitNum[MAXMTS];
  28. extern int MinSatByMTOnly[MAXMTS];
  29. extern long MinSatTbl[MAXMTS][2];
  30. extern Lines *MinTerm;
  31. Lines *LineP   = &MinArray[0];
  32. Lines *MajTrmP = &MTArray[2];
  33. Lines *EndMaj  = &MTArray[0] + sizeof(MTArray);
  34. char  *ChrP    = (char *)&MinArray[0];
  35. int NumOfMajTrms  = 3;
  36. int NumOfMinTrms  = 3;
  37. int BitNum     = 0;
  38. int i;
  39.  
  40. Lines *GetMajTrms()
  41. {
  42.    while ((LineP != MinTerm) && (MajTrmP != EndMaj) && (NumOfMajTrms<MAXMTS)) {
  43.       switch(yylex()) {
  44.          case NewMT:    {
  45.                            gettoken((char *)MajTrmP++,LWIDTH);
  46.                            MajTrm2MinTrm[ NumOfMajTrms ] = NumOfMinTrms;
  47.                            MajTrm2BitNum[ NumOfMajTrms ] = BitNum;
  48.                            NumOfMajTrms++;
  49.                            BitNum++;
  50.                            break;
  51.                         }
  52.          case NewMTEOL: {
  53.                            gettoken((char *)MajTrmP++,LWIDTH);
  54.                            LineP++;
  55.                            ChrP = (char *)LineP;
  56.                            MajTrm2MinTrm[ NumOfMajTrms ] = NumOfMinTrms;
  57.                            MajTrm2BitNum[ NumOfMajTrms ] = BitNum;
  58.                            MinSatByMTOnly[ NumOfMajTrms ] = 0;
  59.                            if (!BitNum) { MinSatByMTOnly[ NumOfMajTrms ] = 1; }
  60.                            MinSatTbl[ NumOfMinTrms ][1] = 0;
  61.                            MinSatTbl[ NumOfMinTrms ][0] = (-1) << (BitNum+1);
  62.                            NumOfMinTrms++;
  63.                            NumOfMajTrms++;
  64.                            BitNum = 0;
  65.                            break;
  66.                         }
  67.       }
  68.    }
  69.    --NumOfMajTrms;
  70.    --NumOfMinTrms;
  71.    if (NumOfMajTrms >= (MAXMTS - 1)) {
  72.       ErrP("Too many MT search patterns. Aborting.\n");
  73.    }
  74.    return(MajTrmP);   /* return ptr to line after last major term in array */
  75. }
  76. _Alextab(__na__)        /* Action routine */
  77.    {
  78.    switch (__na__)
  79.       {
  80.  
  81.       case 0:
  82.  
  83. #line 92
  84.  
  85.                                 return(NewMT);
  86.                              
  87.          break;
  88.  
  89.       case 1:
  90.  
  91. #line 96
  92.  
  93.                                 return(NewMT);
  94.                              
  95.          break;
  96.  
  97.       case 2:
  98.  
  99. #line 100
  100.  
  101.                                 return(NewMT);
  102.                              
  103.          break;
  104.  
  105.       case 3:
  106.  
  107. #line 104
  108.  
  109.                                 return(NewMT);
  110.                              
  111.          break;
  112.  
  113.       case 4:
  114.  
  115. #line 111
  116.  
  117.                                 return(NewMTEOL);
  118.                              
  119.          break;
  120.  
  121.       case 5:
  122.  
  123. #line 115
  124.  
  125.                                 return(NewMTEOL);
  126.                              
  127.          break;
  128.  
  129.       case 6:
  130.  
  131. #line 119
  132.  
  133.                                 return(LEXSKIP);
  134.                              
  135.          break;
  136.  
  137.       case 7:
  138.  
  139. #line 123
  140.  
  141.                                 return(LEXSKIP);
  142.                              
  143.          break;
  144.     }
  145.     return(LEXSKIP);
  146. }
  147.  
  148. #line 126
  149.  
  150. lexgetc()
  151. /*
  152.  * Homemade lexgetc -- return zero while at the end of an input line
  153.  */
  154. {
  155.    return(*ChrP++);
  156. }
  157.  
  158. LL16BIT _Flextab[] =
  159.    {
  160.    -1, 7, -1, 12293, 6, 8195, -1, 10244,
  161.    -1, 4097, -1, -1, -1, -1, -1, -1,
  162.    -1, 4097, -1, 6146, -1, -1, -1, 2048,
  163.    -1, -1,
  164.    };
  165.  
  166. #line 134
  167.  
  168. #define    LLTYPE1    char
  169.  
  170. LLTYPE1 _Nlextab[] =
  171.    {
  172.    1, 25, 25, 25, 25, 25, 25, 25,
  173.    25, 25, 25, 25, 25, 25, 25, 25,
  174.    25, 25, 25, 25, 25, 25, 25, 25,
  175.    25, 25, 25, 25, 25, 25, 25, 25,
  176.    13, 13, 13, 13, 13, 13, 13, 13,
  177.    13, 13, 13, 13, 13, 13, 2, 13,
  178.    13, 13, 13, 13, 13, 13, 13, 13,
  179.    13, 13, 13, 13, 13, 13, 13, 13,
  180.    13, 13, 13, 13, 13, 13, 13, 13,
  181.    13, 13, 13, 13, 13, 13, 13, 13,
  182.    13, 13, 13, 13, 13, 13, 13, 13,
  183.    13, 13, 13, 13, 13, 13, 13, 13,
  184.    13, 13, 13, 13, 13, 13, 13, 13,
  185.    13, 13, 13, 13, 13, 13, 13, 13,
  186.    13, 13, 13, 13, 13, 13, 13, 13,
  187.    13, 13, 13, 13, 13, 13, 13, 3,
  188.    5, 18, 25, 25, 25, 25, 25, 25,
  189.    25, 25, 25, 25, 25, 25, 25, 25,
  190.    25, 25, 25, 25, 25, 25, 25, 25,
  191.    25, 25, 25, 25, 25, 25, 25, 6,
  192.    6, 6, 6, 6, 6, 6, 6, 6,
  193.    6, 6, 6, 6, 6, 4, 6, 6,
  194.    6, 6, 6, 6, 6, 6, 6, 6,
  195.    6, 6, 6, 6, 6, 6, 6, 6,
  196.    6, 6, 6, 6, 6, 6, 6, 6,
  197.    6, 6, 6, 6, 6, 6, 6, 6,
  198.    6, 6, 6, 6, 6, 6, 6, 6,
  199.    6, 6, 6, 6, 6, 6, 6, 6,
  200.    6, 6, 6, 6, 6, 6, 6, 6,
  201.    6, 6, 6, 6, 6, 6, 6, 6,
  202.    6, 6, 6, 6, 6, 6, 6, 6,
  203.    6, 6, 6, 6, 6, 6, 7, 25,
  204.    25, 25, 25, 25, 25, 25, 25, 25,
  205.    25, 25, 25, 25, 25, 25, 25, 25,
  206.    25, 25, 25, 25, 25, 25, 25, 25,
  207.    25, 25, 25, 25, 25, 25, 12, 12,
  208.    12, 12, 12, 12, 12, 12, 12, 12,
  209.    12, 12, 12, 12, 8, 12, 12, 12,
  210.    12, 12, 12, 12, 12, 12, 12, 12,
  211.    12, 12, 12, 12, 12, 12, 12, 12,
  212.    12, 12, 12, 12, 12, 12, 12, 12,
  213.    12, 12, 12, 12, 12, 12, 12, 12,
  214.    12, 12, 12, 12, 12, 12, 12, 12,
  215.    12, 12, 12, 12, 12, 12, 12, 12,
  216.    12, 12, 12, 12, 12, 12, 12, 12,
  217.    12, 12, 12, 12, 12, 12, 12, 12,
  218.    12, 12, 12, 12, 12, 12, 12, 12,
  219.    12, 12, 12, 12, 12, 10, 10, 10,
  220.    10, 10, 10, 10, 10, 10, 10, 10,
  221.    10, 10, 10, 9, 10, 10, 10, 10,
  222.    10, 10, 10, 10, 10, 10, 10, 10,
  223.    10, 10, 10, 10, 10, 10, 10, 10,
  224.    10, 10, 10, 10, 10, 10, 10, 10,
  225.    10, 10, 10, 10, 10, 10, 10, 10,
  226.    10, 10, 10, 10, 10, 10, 10, 10,
  227.    10, 10, 10, 10, 10, 10, 10, 10,
  228.    10, 10, 10, 10, 10, 10, 10, 10,
  229.    10, 10, 10, 10, 10, 10, 10, 10,
  230.    10, 10, 10, 10, 10, 10, 10, 10,
  231.    10, 10, 10, 10, 7, 25, 25, 25,
  232.    25, 25, 25, 25, 25, 25, 25, 25,
  233.    25, 25, 25, 25, 25, 25, 25, 25,
  234.    25, 25, 25, 25, 25, 25, 25, 25,
  235.    25, 25, 25, 25, 11, 11, 11, 11,
  236.    11, 11, 11, 11, 11, 11, 11, 11,
  237.    11, 11, 8, 11, 11, 11, 11, 11,
  238.    11, 11, 11, 11, 11, 11, 11, 11,
  239.    11, 11, 11, 11, 11, 11, 11, 11,
  240.    11, 11, 11, 11, 11, 11, 11, 11,
  241.    11, 11, 11, 11, 11, 11, 11, 11,
  242.    11, 11, 11, 11, 11, 11, 11, 11,
  243.    11, 11, 11, 11, 11, 11, 11, 11,
  244.    11, 11, 11, 11, 11, 11, 11, 11,
  245.    11, 11, 11, 11, 11, 11, 11, 11,
  246.    11, 11, 11, 11, 11, 11, 11, 11,
  247.    11, 11, 11, 7, 25, 25, 25, 25,
  248.    25, 25, 25, 25, 25, 25, 25, 25,
  249.    25, 25, 25, 25, 25, 25, 25, 25,
  250.    25, 25, 25, 25, 25, 25, 25, 25,
  251.    25, 25, 25, 24, 24, 24, 24, 24,
  252.    24, 24, 24, 24, 24, 24, 24, 24,
  253.    24, 14, 24, 24, 24, 24, 24, 24,
  254.    24, 24, 24, 24, 24, 24, 24, 24,
  255.    24, 24, 24, 24, 24, 24, 24, 24,
  256.    24, 24, 24, 24, 24, 24, 24, 24,
  257.    24, 24, 24, 24, 24, 24, 24, 24,
  258.    24, 24, 24, 24, 24, 24, 24, 24,
  259.    24, 24, 24, 24, 24, 24, 24, 24,
  260.    24, 24, 24, 24, 24, 24, 24, 24,
  261.    24, 24, 24, 24, 24, 24, 24, 24,
  262.    24, 24, 24, 24, 24, 24, 24, 24,
  263.    24, 24, 15, 15, 15, 15, 15, 15,
  264.    15, 15, 15, 15, 15, 15, 15, 15,
  265.    23, 15, 15, 15, 15, 15, 15, 15,
  266.    15, 15, 15, 15, 15, 15, 15, 15,
  267.    15, 15, 15, 15, 15, 15, 15, 15,
  268.    15, 15, 15, 15, 15, 15, 15, 15,
  269.    15, 15, 15, 15, 15, 15, 15, 15,
  270.    15, 15, 15, 15, 15, 15, 15, 15,
  271.    15, 15, 15, 15, 15, 15, 15, 15,
  272.    15, 15, 15, 15, 15, 15, 15, 15,
  273.    15, 15, 15, 15, 15, 15, 15, 15,
  274.    15, 15, 15, 15, 15, 15, 15, 15,
  275.    15, 7, 25, 25, 25, 25, 25, 25,
  276.    25, 25, 25, 25, 25, 25, 25, 25,
  277.    25, 25, 25, 25, 25, 25, 25, 25,
  278.    25, 25, 25, 25, 25, 25, 25, 25,
  279.    25, 22, 22, 22, 22, 22, 22, 22,
  280.    22, 22, 22, 22, 22, 22, 22, 16,
  281.    22, 22, 22, 22, 22, 22, 22, 22,
  282.    22, 22, 22, 22, 22, 22, 22, 22,
  283.    22, 22, 22, 22, 22, 22, 22, 22,
  284.    22, 22, 22, 22, 22, 22, 22, 22,
  285.    22, 22, 22, 22, 22, 22, 22, 22,
  286.    22, 22, 22, 22, 22, 22, 22, 22,
  287.    22, 22, 22, 22, 22, 22, 22, 22,
  288.    22, 22, 22, 22, 22, 22, 22, 22,
  289.    22, 22, 22, 22, 22, 22, 22, 22,
  290.    22, 22, 22, 22, 22, 22, 22, 22,
  291.    20, 20, 20, 20, 20, 20, 20, 20,
  292.    20, 20, 20, 20, 20, 20, 17, 20,
  293.    20, 20, 20, 20, 20, 20, 20, 20,
  294.    20, 20, 20, 20, 20, 20, 20, 20,
  295.    20, 20, 20, 20, 20, 20, 20, 20,
  296.    20, 20, 20, 20, 20, 20, 20, 20,
  297.    20, 20, 20, 20, 20, 20, 20, 20,
  298.    20, 20, 20, 20, 20, 20, 20, 20,
  299.    20, 20, 20, 20, 20, 20, 20, 20,
  300.    20, 20, 20, 20, 20, 20, 20, 20,
  301.    20, 20, 20, 20, 20, 20, 20, 20,
  302.    20, 20, 20, 20, 20, 20, 20, 19,
  303.    19, 19, 19, 19, 19, 19, 19, 19,
  304.    19, 19, 19, 19, 19, 19, 19, 19,
  305.    19, 19, 19, 19, 19, 19, 19, 19,
  306.    19, 19, 19, 19, 19, 19, 19, 19,
  307.    19, 19, 19, 19, 19, 19, 19, 19,
  308.    19, 19, 19, 19, 19, 19, 19, 19,
  309.    19, 19, 19, 19, 19, 19, 19, 19,
  310.    19, 19, 19, 19, 19, 19, 19, 19,
  311.    19, 19, 19, 19, 19, 19, 19, 19,
  312.    19, 19, 19, 19, 19, 19, 19, 19,
  313.    19, 19, 19, 19, 19, 19, 19, 19,
  314.    19, 19, 19, 19, 19, 19, 7, 25,
  315.    25, 25, 25, 25, 25, 25, 25, 25,
  316.    25, 25, 25, 25, 25, 25, 25, 25,
  317.    25, 25, 25, 25, 25, 25, 25, 25,
  318.    25, 25, 25, 25, 25, 25, 21, 21,
  319.    21, 21, 21, 21, 21, 21, 21, 21,
  320.    21, 21, 21, 21, 16, 21, 21, 21,
  321.    21, 21, 21, 21, 21, 21, 21, 21,
  322.    21, 21, 21, 21, 21, 21, 21, 21,
  323.    21, 21, 21, 21, 21, 21, 21, 21,
  324.    21, 21, 21, 21, 21, 21, 21, 21,
  325.    21, 21, 21, 21, 21, 21, 21, 21,
  326.    21, 21, 21, 21, 21, 21, 21, 21,
  327.    21, 21, 21, 21, 21, 21, 21, 21,
  328.    21, 21, 21, 21, 21, 21, 21, 21,
  329.    21, 21, 21, 21, 21, 21, 21, 21,
  330.    21, 21, 21, 21, 21,
  331.    };
  332.  
  333. LLTYPE1 _Clextab[] =
  334.    {
  335.    0, -1, -1, -1, -1, -1, -1, -1,
  336.    -1, -1, -1, -1, -1, -1, -1, -1,
  337.    -1, -1, -1, -1, -1, -1, -1, -1,
  338.    -1, -1, -1, -1, -1, -1, -1, -1,
  339.    0, 0, 0, 0, 0, 0, 0, 0,
  340.    0, 0, 0, 0, 0, 0, 0, 0,
  341.    0, 0, 0, 0, 0, 0, 0, 0,
  342.    0, 0, 0, 0, 0, 0, 0, 0,
  343.    0, 0, 0, 0, 0, 0, 0, 0,
  344.    0, 0, 0, 0, 0, 0, 0, 0,
  345.    0, 0, 0, 0, 0, 0, 0, 0,
  346.    0, 0, 0, 0, 0, 0, 0, 0,
  347.    0, 0, 0, 0, 0, 0, 0, 0,
  348.    0, 0, 0, 0, 0, 0, 0, 0,
  349.    0, 0, 0, 0, 0, 0, 0, 0,
  350.    0, 0, 0, 0, 0, 0, 0, 2,
  351.    4, 17, -1, -1, -1, -1, -1, -1,
  352.    -1, -1, -1, -1, -1, -1, -1, -1,
  353.    -1, -1, -1, -1, -1, -1, -1, -1,
  354.    -1, -1, -1, -1, -1, -1, -1, 2,
  355.    2, 2, 2, 2, 2, 2, 2, 2,
  356.    2, 2, 2, 2, 2, 2, 2, 2,
  357.    2, 2, 2, 2, 2, 2, 2, 2,
  358.    2, 2, 2, 2, 2, 2, 2, 2,
  359.    2, 2, 2, 2, 2, 2, 2, 2,
  360.    2, 2, 2, 2, 2, 2, 2, 2,
  361.    2, 2, 2, 2, 2, 2, 2, 2,
  362.    2, 2, 2, 2, 2, 2, 2, 2,
  363.    2, 2, 2, 2, 2, 2, 2, 2,
  364.    2, 2, 2, 2, 2, 2, 2, 2,
  365.    2, 2, 2, 2, 2, 2, 2, 2,
  366.    2, 2, 2, 2, 2, 2, 6, -1,
  367.    -1, -1, -1, -1, -1, -1, -1, -1,
  368.    -1, -1, -1, -1, -1, -1, -1, -1,
  369.    -1, -1, -1, -1, -1, -1, -1, -1,
  370.    -1, -1, -1, -1, -1, -1, 6, 6,
  371.    6, 6, 6, 6, 6, 6, 6, 6,
  372.    6, 6, 6, 6, 6, 6, 6, 6,
  373.    6, 6, 6, 6, 6, 6, 6, 6,
  374.    6, 6, 6, 6, 6, 6, 6, 6,
  375.    6, 6, 6, 6, 6, 6, 6, 6,
  376.    6, 6, 6, 6, 6, 6, 6, 6,
  377.    6, 6, 6, 6, 6, 6, 6, 6,
  378.    6, 6, 6, 6, 6, 6, 6, 6,
  379.    6, 6, 6, 6, 6, 6, 6, 6,
  380.    6, 6, 6, 6, 6, 6, 6, 6,
  381.    6, 6, 6, 6, 6, 6, 6, 6,
  382.    6, 6, 6, 6, 6, 8, 8, 8,
  383.    8, 8, 8, 8, 8, 8, 8, 8,
  384.    8, 8, 8, 8, 8, 8, 8, 8,
  385.    8, 8, 8, 8, 8, 8, 8, 8,
  386.    8, 8, 8, 8, 8, 8, 8, 8,
  387.    8, 8, 8, 8, 8, 8, 8, 8,
  388.    8, 8, 8, 8, 8, 8, 8, 8,
  389.    8, 8, 8, 8, 8, 8, 8, 8,
  390.    8, 8, 8, 8, 8, 8, 8, 8,
  391.    8, 8, 8, 8, 8, 8, 8, 8,
  392.    8, 8, 8, 8, 8, 8, 8, 8,
  393.    8, 8, 8, 8, 8, 8, 8, 8,
  394.    8, 8, 8, 8, 10, -1, -1, -1,
  395.    -1, -1, -1, -1, -1, -1, -1, -1,
  396.    -1, -1, -1, -1, -1, -1, -1, -1,
  397.    -1, -1, -1, -1, -1, -1, -1, -1,
  398.    -1, -1, -1, -1, 10, 10, 10, 10,
  399.    10, 10, 10, 10, 10, 10, 10, 10,
  400.    10, 10, 10, 10, 10, 10, 10, 10,
  401.    10, 10, 10, 10, 10, 10, 10, 10,
  402.    10, 10, 10, 10, 10, 10, 10, 10,
  403.    10, 10, 10, 10, 10, 10, 10, 10,
  404.    10, 10, 10, 10, 10, 10, 10, 10,
  405.    10, 10, 10, 10, 10, 10, 10, 10,
  406.    10, 10, 10, 10, 10, 10, 10, 10,
  407.    10, 10, 10, 10, 10, 10, 10, 10,
  408.    10, 10, 10, 10, 10, 10, 10, 10,
  409.    10, 10, 10, 10, 10, 10, 10, 10,
  410.    10, 10, 10, 13, -1, -1, -1, -1,
  411.    -1, -1, -1, -1, -1, -1, -1, -1,
  412.    -1, -1, -1, -1, -1, -1, -1, -1,
  413.    -1, -1, -1, -1, -1, -1, -1, -1,
  414.    -1, -1, -1, 13, 13, 13, 13, 13,
  415.    13, 13, 13, 13, 13, 13, 13, 13,
  416.    13, 13, 13, 13, 13, 13, 13, 13,
  417.    13, 13, 13, 13, 13, 13, 13, 13,
  418.    13, 13, 13, 13, 13, 13, 13, 13,
  419.    13, 13, 13, 13, 13, 13, 13, 13,
  420.    13, 13, 13, 13, 13, 13, 13, 13,
  421.    13, 13, 13, 13, 13, 13, 13, 13,
  422.    13, 13, 13, 13, 13, 13, 13, 13,
  423.    13, 13, 13, 13, 13, 13, 13, 13,
  424.    13, 13, 13, 13, 13, 13, 13, 13,
  425.    13, 13, 13, 13, 13, 13, 13, 13,
  426.    13, 13, 14, 14, 14, 14, 14, 14,
  427.    14, 14, 14, 14, 14, 14, 14, 14,
  428.    14, 14, 14, 14, 14, 14, 14, 14,
  429.    14, 14, 14, 14, 14, 14, 14, 14,
  430.    14, 14, 14, 14, 14, 14, 14, 14,
  431.    14, 14, 14, 14, 14, 14, 14, 14,
  432.    14, 14, 14, 14, 14, 14, 14, 14,
  433.    14, 14, 14, 14, 14, 14, 14, 14,
  434.    14, 14, 14, 14, 14, 14, 14, 14,
  435.    14, 14, 14, 14, 14, 14, 14, 14,
  436.    14, 14, 14, 14, 14, 14, 14, 14,
  437.    14, 14, 14, 14, 14, 14, 14, 14,
  438.    14, 15, -1, -1, -1, -1, -1, -1,
  439.    -1, -1, -1, -1, -1, -1, -1, -1,
  440.    -1, -1, -1, -1, -1, -1, -1, -1,
  441.    -1, -1, -1, -1, -1, -1, -1, -1,
  442.    -1, 15, 15, 15, 15, 15, 15, 15,
  443.    15, 15, 15, 15, 15, 15, 15, 15,
  444.    15, 15, 15, 15, 15, 15, 15, 15,
  445.    15, 15, 15, 15, 15, 15, 15, 15,
  446.    15, 15, 15, 15, 15, 15, 15, 15,
  447.    15, 15, 15, 15, 15, 15, 15, 15,
  448.    15, 15, 15, 15, 15, 15, 15, 15,
  449.    15, 15, 15, 15, 15, 15, 15, 15,
  450.    15, 15, 15, 15, 15, 15, 15, 15,
  451.    15, 15, 15, 15, 15, 15, 15, 15,
  452.    15, 15, 15, 15, 15, 15, 15, 15,
  453.    15, 15, 15, 15, 15, 15, 15, 15,
  454.    16, 16, 16, 16, 16, 16, 16, 16,
  455.    16, 16, 16, 16, 16, 16, 16, 16,
  456.    16, 16, 16, 16, 16, 16, 16, 16,
  457.    16, 16, 16, 16, 16, 16, 16, 16,
  458.    16, 16, 16, 16, 16, 16, 16, 16,
  459.    16, 16, 16, 16, 16, 16, 16, 16,
  460.    16, 16, 16, 16, 16, 16, 16, 16,
  461.    16, 16, 16, 16, 16, 16, 16, 16,
  462.    16, 16, 16, 16, 16, 16, 16, 16,
  463.    16, 16, 16, 16, 16, 16, 16, 16,
  464.    16, 16, 16, 16, 16, 16, 16, 16,
  465.    16, 16, 16, 16, 16, 16, 16, 18,
  466.    18, 18, 18, 18, 18, 18, 18, 18,
  467.    18, 18, 18, 18, 18, 18, 18, 18,
  468.    18, 18, 18, 18, 18, 18, 18, 18,
  469.    18, 18, 18, 18, 18, 18, 18, 18,
  470.    18, 18, 18, 18, 18, 18, 18, 18,
  471.    18, 18, 18, 18, 18, 18, 18, 18,
  472.    18, 18, 18, 18, 18, 18, 18, 18,
  473.    18, 18, 18, 18, 18, 18, 18, 18,
  474.    18, 18, 18, 18, 18, 18, 18, 18,
  475.    18, 18, 18, 18, 18, 18, 18, 18,
  476.    18, 18, 18, 18, 18, 18, 18, 18,
  477.    18, 18, 18, 18, 18, 18, 20, -1,
  478.    -1, -1, -1, -1, -1, -1, -1, -1,
  479.    -1, -1, -1, -1, -1, -1, -1, -1,
  480.    -1, -1, -1, -1, -1, -1, -1, -1,
  481.    -1, -1, -1, -1, -1, -1, 20, 20,
  482.    20, 20, 20, 20, 20, 20, 20, 20,
  483.    20, 20, 20, 20, 20, 20, 20, 20,
  484.    20, 20, 20, 20, 20, 20, 20, 20,
  485.    20, 20, 20, 20, 20, 20, 20, 20,
  486.    20, 20, 20, 20, 20, 20, 20, 20,
  487.    20, 20, 20, 20, 20, 20, 20, 20,
  488.    20, 20, 20, 20, 20, 20, 20, 20,
  489.    20, 20, 20, 20, 20, 20, 20, 20,
  490.    20, 20, 20, 20, 20, 20, 20, 20,
  491.    20, 20, 20, 20, 20, 20, 20, 20,
  492.    20, 20, 20, 20, 20, 20, 20, 20,
  493.    20, 20, 20, 20, 20,
  494.    };
  495.  
  496. LLTYPE1 _Dlextab[] =
  497.    {
  498.    25, 25, 25, 25, 25, 25, 25, 25,
  499.    25, 25, 25, 10, 6, 25, 25, 25,
  500.    25, 25, 25, 25, 25, 20, 15, 17,
  501.    13,
  502.    };
  503.  
  504. LL16BIT _Blextab[] =
  505.    {
  506.    0, 0, 127, 0, 82, 0, 254, 0,
  507.    349, 0, 476, 0, 0, 603, 698, 825,
  508.    920, 83, 1015, 0, 1142, 0, 0, 0,
  509.    0, 0,
  510.    };
  511. char    *llsave[6];
  512.  
  513. LL16BIT _Llextab[] =
  514.    {
  515.    00, 00, 050, 00, 00, 00, 022, 00,
  516.    00, 00, 022, 022, 022, 021, 04, 022,
  517.    04, 00, 00, 00, 022, 022, 022, 00,
  518.    021, 0,
  519.    };
  520. #define    LLILL    Z
  521.  
  522. char _Zlextab[] =
  523.    {
  524.    0377, 0377, 0377, 0377, 0377, 0377, 0377, 0377,
  525.    0377, 0377, 0377, 0377, 0377, 0377, 0377, 0377,
  526.    0377, 0377, 0377, 0377, 0377, 0377, 0377, 0377,
  527.    0377, 0377, 0377, 0377, 0377, 0377, 0377, 0377,
  528.   
  529.    };
  530.  
  531. struct lextab lextab =    {
  532.             25,        /* Highest state */
  533.             _Dlextab,    /* --> "Default state" table */
  534.             _Nlextab,    /* --> "Next state" table */
  535.             _Clextab,    /* --> "Check value" table */
  536.             _Blextab,    /* --> "Base" table */
  537.             1268,        /* Index of last entry in "next" */
  538.             _lmovb,        /* --> Byte-int move routine */
  539.             _Flextab,    /* --> "Final state" table */
  540.             _Alextab,    /* --> Action routine */
  541.  
  542.             _Llextab,    /* Look-ahead vector */
  543.             0,        /* No Ignore class */
  544.             0,        /* No Break class */
  545.     _Zlextab,    /* Illegal class */
  546.             };
  547.  
  548. /* Stand-alone selected */
  549. llstin()
  550.    {
  551.    if(_tabp == NULL)
  552.       lexswitch(&lextab);
  553.    }
  554.  
  555.