home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / lex / once.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  3.3 KB  |  131 lines

  1.     /* because of external definitions, this code should occur only once */
  2. # ifdef ASCII
  3. int ctable[2*NCH] {
  4.   0,  1,  2,  3,  4,  5,  6,  7,  8,  9,
  5.  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
  6.  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
  7.  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
  8.  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
  9.  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
  10.  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
  11.  70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
  12.  80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
  13.  90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
  14. 100,101,102,103,104,105,106,107,108,109,
  15. 110,111,112,113,114,115,116,117,118,119,
  16. 120,121,122,123,124,125,126,127};
  17. # endif
  18. # ifdef EBCDIC
  19. int ctable[2*NCH] {
  20.   0,  1,  2,  3,  4,  5,  6,  7,  8,  9,
  21.  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
  22.  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
  23.  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
  24.  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
  25.  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
  26.  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
  27.  70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
  28.  80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
  29.  90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
  30. 100,101,102,103,104,105,106,107,108,109,
  31. 110,111,112,113,114,115,116,117,118,119,
  32. 120,121,122,123,124,125,126,127,128,129,
  33. 130,131,132,133,134,135,136,137,138,139,
  34. 140,141,142,143,144,145,146,147,148,149,
  35. 150,151,152,153,154,155,156,157,158,159,
  36. 160,161,162,163,164,165,166,167,168,169,
  37. 170,171,172,173,174,175,176,177,178,179,
  38. 180,181,182,183,184,185,186,187,188,189,
  39. 190,191,192,193,194,195,196,197,198,199,
  40. 200,201,202,203,204,205,206,207,208,209,
  41. 210,211,212,213,214,215,216,217,218,219,
  42. 220,221,222,223,224,225,226,227,228,229,
  43. 230,231,232,233,234,235,236,237,238,239,
  44. 240,241,242,243,244,245,246,247,248,249,
  45. 250,251,252,253,254,255};
  46. # endif
  47. int ZCH NCH;
  48. FILE *fout NULL, *errorf {stdout};
  49. int sect DEFSECTION;
  50. int prev '\n';    /* previous input character */
  51. int pres '\n';    /* present input character */
  52. int peek '\n';    /* next input character */
  53. char *pushptr pushc;
  54. char *slptr slist;
  55.  
  56. # if (unix || ibm)
  57. char *cname "/usr/lib/lex/ncform";
  58. char *ratname "/usr/lib/lex/nrform";
  59. # endif
  60.  
  61. # ifdef gcos
  62. char *cname "pounce/lexcform";
  63. char *ratname "pounce/lexrform";
  64. # endif
  65. int ccount 1;
  66. int casecount 1;
  67. int aptr 1;
  68. int nstates NSTATES, maxpos MAXPOS;
  69. int treesize TREESIZE, ntrans NTRANS;
  70. int yytop;
  71. int outsize NOUTPUT;
  72. int sptr 1;
  73. int optim TRUE;
  74. int report 2;
  75. int debug;        /* 1 = on */
  76. int charc;
  77. int sargc;
  78. char **sargv;
  79. char buf[520];
  80. int ratfor;        /* 1 = ratfor, 0 = C */
  81. int yyline;        /* line number of file */
  82. int eof;
  83. int lgatflg;
  84. int divflg;
  85. int funcflag;
  86. int pflag;
  87. int chset;    /* 1 = char set modified */
  88. FILE *fin, *fother;
  89. int fptr;
  90. int *name;
  91. int *left;
  92. int *right;
  93. int *parent;
  94. char *nullstr;
  95. int tptr;
  96. char pushc[TOKENSIZE];
  97. char slist[STARTSIZE];
  98. char **def, **subs, *dchar;
  99. char **sname, *schar;
  100. char *ccl;
  101. char *ccptr;
  102. char *dp, *sp;
  103. int dptr;
  104. char *bptr;        /* store input position */
  105. char *tmpstat;
  106. int count;
  107. int **foll;
  108. int *nxtpos;
  109. int *positions;
  110. int *gotof;
  111. int *nexts;
  112. char *nchar;
  113. int **state;
  114. int *sfall;        /* fallback state num */
  115. char *cpackflg;        /* true if state has been character packed */
  116. int *atable;
  117. int nptr;
  118. char symbol[NCH];
  119. char cindex[NCH];
  120. int xstate;
  121. int stnum;
  122. char match[NCH];
  123. char extra[NACTIONS];
  124. char *pchar, *pcptr;
  125. int pchlen TOKENSIZE;
  126.  long rcount;
  127. int *verify, *advance, *stoff;
  128. int scon;
  129. char *psave;
  130. int buserr(), segviol();
  131.