Annotation of 43BSDReno/contrib/mh/zotnet/tws/t, revision 1.1.1.1

1.1       root        1: *** lexstring.c        Tue Jun  3 06:29:37 1986
                      2: --- /usr/tmp/mh-6.5/zotnet/tws/lexstring.c     Wed Feb 12 12:04:27 1986
                      3: ***************
                      4: *** 19,53 ****
                      5:   extern int yyvstop[];
                      6:   extern struct yywork yycrank[];
                      7:   extern struct yysvf yysvec[];
                      8:   extern char yymatch[];
                      9:   extern char yyextra[];
                     10:   
                     11: ! #ifdef ONECASE
                     12: ! static char case_map[] = {
                     13: !      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
                     14: !     10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
                     15: !     20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
                     16: !     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
                     17: !     40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
                     18: !     50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
                     19: !     60,  61,  62,  63,  64,  97,  98,  99, 100, 101,
                     20: !    102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
                     21: !    112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
                     22: !    122,  91,  92,  93,  94,  95,  96,  97,  98,  99,
                     23: !    100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
                     24: !    110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
                     25: !    120, 121, 122, 123, 124, 125, 126, 127,
                     26: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     27: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     28: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     29: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     30: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     31: !    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                     32: !    0, 0, 0, 0, 0, 0, 0, 0
                     33: ! };
                     34: ! #endif ONECASE
                     35:   
                     36: - 
                     37:   lex_string( strptr, start_cond)
                     38:        char    **strptr;
                     39:        int     start_cond;
                     40: --- 19,32 ----
                     41:   extern int yyvstop[];
                     42:   extern struct yywork yycrank[];
                     43:   extern struct yysvf yysvec[];
                     44: + extern struct yywork *yytop;
                     45:   extern char yymatch[];
                     46:   extern char yyextra[];
                     47:   
                     48: ! #ifdef LEXDEBUG
                     49: ! static int debug = 0;
                     50: ! #endif LEXDEBUG
                     51:   
                     52:   lex_string( strptr, start_cond)
                     53:        char    **strptr;
                     54:        int     start_cond;
                     55: ***************
                     56: *** 54,60 ****
                     57:   {
                     58:        register struct yysvf *state, **lsp;
                     59:        register struct yywork *tran;
                     60: -      register int statenum;
                     61:        register int ch;
                     62:        register char   *cp = *strptr;
                     63:        register int    *found;
                     64: --- 33,38 ----
                     65: ***************
                     66: *** 62,72 ****
                     67:   
                     68:        /* start off machines */
                     69:        lsp = yylstate;
                     70: !      statenum = 1 + start_cond;
                     71: !      state = yysvec + statenum;
                     72:        for (;;){
                     73:   # ifdef LEXDEBUG
                     74: !              fprintf(stdout,"%d ",statenum - 1);
                     75:   # endif
                     76:                tran = state->yystoff;
                     77:                if(tran == yycrank)
                     78: --- 40,50 ----
                     79:   
                     80:        /* start off machines */
                     81:        lsp = yylstate;
                     82: !      state = yysvec+1+start_cond;
                     83:        for (;;){
                     84:   # ifdef LEXDEBUG
                     85: !              if(debug)
                     86: !                      fprintf(stderr,"state %d\n",state-yysvec-1);
                     87:   # endif
                     88:                tran = state->yystoff;
                     89:                if(tran == yycrank)
                     90: ***************
                     91: *** 75,140 ****
                     92:                            state->yyother->yystoff == yycrank)
                     93:                                break;
                     94:   
                     95: - #ifdef ONECASE
                     96: -              ch = case_map[*cp++];
                     97: - #else  not ONECASE
                     98:                ch = *cp++;
                     99:   #endif ONECASE
                    100:   # ifdef LEXDEBUG
                    101: !              fprintf(stdout,"(");
                    102: !              allprint(ch);
                    103: !              fprintf(stdout, ")");
                    104:   # endif
                    105: - tryagain:
                    106:                if ( tran > yycrank){
                    107:                        tran += ch;
                    108: !                      if (tran->verify == statenum){
                    109: !                              if ((statenum = tran->advance) == 0){
                    110:                                        /* error transitions */
                    111:                                        --cp;
                    112:                                        break;
                    113:                                }
                    114: -                              state = statenum + yysvec;
                    115:                                *lsp++ = state;
                    116:                                goto contin;
                    117:                        }
                    118:   
                    119:                } else if(tran < yycrank) {
                    120:                        tran = yycrank+(yycrank-tran) + ch;
                    121:   # ifdef LEXDEBUG
                    122: !                      fprintf(stdout," compressed");
                    123:   # endif
                    124: !                      if (tran->verify == statenum){
                    125: !                              if ((statenum = tran->advance) == 0)
                    126:                                        /* error transitions */
                    127:                                        break;
                    128:   
                    129: -                              state = statenum + yysvec;
                    130:                                *lsp++ = state;
                    131:                                goto contin;
                    132:                        }
                    133:                        tran += (yymatch[ch] - ch);
                    134:   # ifdef LEXDEBUG
                    135: !                      fprintf(stdout,"(fb ");
                    136: !                      allprint(yymatch[ch]);
                    137: !                      fprintf(stdout,")");
                    138:   # endif
                    139: !                      if (tran->verify == statenum){
                    140: !                              if((statenum = tran->advance) == 0)
                    141:                                        /* error transition */
                    142:                                        break;
                    143:   
                    144: !                              state = statenum + yysvec;
                    145: !                              *lsp++ = state;
                    146:                                goto contin;
                    147:                        }
                    148:                }
                    149:                if ((state = state->yyother) &&
                    150:                    (tran = state->yystoff) != yycrank){
                    151: -                      statenum = state - yysvec;
                    152:   # ifdef LEXDEBUG
                    153: !                      fprintf(stdout,"fb %d",
                    154: !                              statenum - 1);
                    155:   # endif
                    156:                        goto tryagain;
                    157:                } else
                    158: --- 53,121 ----
                    159:                            state->yyother->yystoff == yycrank)
                    160:                                break;
                    161:   
                    162:                ch = *cp++;
                    163: + #ifdef ONECASE
                    164: +              if (isupper(ch) )
                    165: +                      ch = tolower(ch);
                    166:   #endif ONECASE
                    167: + tryagain:
                    168:   # ifdef LEXDEBUG
                    169: !              if(debug){
                    170: !                      fprintf(stderr,"char ");
                    171: !                      allprint(ch);
                    172: !                      putchar('\n');
                    173: !              }
                    174:   # endif
                    175:                if ( tran > yycrank){
                    176:                        tran += ch;
                    177: !                      if (tran <= yytop && tran->verify+yysvec == state){
                    178: !                              if ((state = tran->advance+yysvec) == YYLERR){
                    179:                                        /* error transitions */
                    180:                                        --cp;
                    181:                                        break;
                    182:                                }
                    183:                                *lsp++ = state;
                    184:                                goto contin;
                    185:                        }
                    186:   
                    187:                } else if(tran < yycrank) {
                    188: +                      /* r < yycrank */
                    189:                        tran = yycrank+(yycrank-tran) + ch;
                    190:   # ifdef LEXDEBUG
                    191: !                      if (debug)
                    192: !                              fprintf(stderr,"compressed state\n");
                    193:   # endif
                    194: !                      if(tran <= yytop && tran->verify+yysvec == state){
                    195: !                              if ((state = tran->advance+yysvec) == YYLERR)
                    196:                                        /* error transitions */
                    197:                                        break;
                    198:   
                    199:                                *lsp++ = state;
                    200:                                goto contin;
                    201:                        }
                    202:                        tran += (yymatch[ch] - ch);
                    203:   # ifdef LEXDEBUG
                    204: !                      if(debug){
                    205: !                              fprintf(stderr,"try fall back character ");
                    206: !                              allprint(yymatch[ch]);
                    207: !                              putchar('\n');
                    208: !                      }
                    209:   # endif
                    210: !                      if(tran <= yytop && tran->verify+yysvec == state){
                    211: !                              if(tran->advance+yysvec == YYLERR)
                    212:                                        /* error transition */
                    213:                                        break;
                    214:   
                    215: !                              *lsp++ = state = tran->advance+yysvec;
                    216:                                goto contin;
                    217:                        }
                    218:                }
                    219:                if ((state = state->yyother) &&
                    220:                    (tran = state->yystoff) != yycrank){
                    221:   # ifdef LEXDEBUG
                    222: !                      if(debug)
                    223: !                              fprintf(stderr,"fall back to state %d\n",
                    224: !                                      state-yysvec-1);
                    225:   # endif
                    226:                        goto tryagain;
                    227:                } else
                    228: ***************
                    229: *** 142,155 ****
                    230:   
                    231:   contin:
                    232:   # ifdef LEXDEBUG
                    233: !              fprintf(stdout,">");
                    234:   # endif
                    235:                ;
                    236:        }
                    237:   # ifdef LEXDEBUG
                    238: !      fprintf(stdout,"\nStopped in state %d (",*(lsp-1)-yysvec-1);
                    239: !      allprint(ch);
                    240: !      fprintf(stdout, ") ");
                    241:   # endif
                    242:        while (lsp-- > yylstate){
                    243:                if (*lsp != 0 && (found= (*lsp)->yystops) && *found > 0){
                    244: --- 123,142 ----
                    245:   
                    246:   contin:
                    247:   # ifdef LEXDEBUG
                    248: !              if(debug){
                    249: !                      fprintf(stderr,"state %d char ",state-yysvec-1);
                    250: !                      allprint(ch);
                    251: !                      putchar('\n');
                    252: !              }
                    253:   # endif
                    254:                ;
                    255:        }
                    256:   # ifdef LEXDEBUG
                    257: !      if(debug){
                    258: !              fprintf(stderr,"stopped at %d with ",*(lsp-1)-yysvec-1);
                    259: !              allprint(ch);
                    260: !              putchar('\n');
                    261: !      }
                    262:   # endif
                    263:        while (lsp-- > yylstate){
                    264:                if (*lsp != 0 && (found= (*lsp)->yystops) && *found > 0){
                    265: ***************
                    266: *** 163,174 ****
                    267:                                          (found = (*--lsp)->yystops));
                    268:                        }
                    269:   # ifdef LEXDEBUG
                    270: !                      fprintf(stdout," Match \"");
                    271: !                      for ( cp = *strptr;
                    272: !                            cp <= ((*strptr)+(lsp-yylstate));
                    273: !                            cp++)
                    274: !                              allprint( *cp );
                    275: !                      fprintf(stdout,"\" action %d\n",*found);
                    276:   # endif
                    277:                        *strptr += (lsp - yylstate + 1);
                    278:                        return(*found);
                    279: --- 150,163 ----
                    280:                                          (found = (*--lsp)->yystops));
                    281:                        }
                    282:   # ifdef LEXDEBUG
                    283: !                      if(debug){
                    284: !                              fprintf(stderr,"\nmatch ");
                    285: !                              for ( cp = *strptr;
                    286: !                                    cp <= ((*strptr)+(lsp-yylstate));
                    287: !                                    cp++)
                    288: !                                      allprint( *cp );
                    289: !                              fprintf(stderr," action %d\n",*found);
                    290: !                      }
                    291:   # endif
                    292:                        *strptr += (lsp - yylstate + 1);
                    293:                        return(*found);
                    294: ***************
                    295: *** 179,185 ****
                    296:         * and return -1.
                    297:         */
                    298:   # ifdef LEXDEBUG
                    299: !      fprintf(stdout," No match\n");
                    300:   #endif LEXDEBUG
                    301:        if ( **strptr ) {
                    302:                (*strptr)++;
                    303: --- 168,175 ----
                    304:         * and return -1.
                    305:         */
                    306:   # ifdef LEXDEBUG
                    307: !      if(debug)
                    308: !              fprintf(stderr,"\nno match\n");
                    309:   #endif LEXDEBUG
                    310:        if ( **strptr ) {
                    311:                (*strptr)++;
                    312: ***************
                    313: *** 193,204 ****
                    314:        char c;
                    315:   {
                    316:        if ( c < 32 ) {
                    317: !          putc( '^', stdout );
                    318:            c += 32;
                    319:        } else if ( c == 127 ) {
                    320: !          putc( '^', stdout );
                    321:            c = '?';
                    322:        }
                    323: !      putc( c, stdout );
                    324:   }
                    325:   #endif LEXDEBUG
                    326: --- 183,194 ----
                    327:        char c;
                    328:   {
                    329:        if ( c < 32 ) {
                    330: !          putc( '^', stderr );
                    331:            c += 32;
                    332:        } else if ( c == 127 ) {
                    333: !          putc( '^', stderr );
                    334:            c = '?';
                    335:        }
                    336: !      putc( c, stderr );
                    337:   }
                    338:   #endif LEXDEBUG

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.