|
|
1.1 ! root 1: #include <ctype.h> ! 2: ! 3: int l_onecase = 0; ! 4: char * _start; ! 5: char * _escaped; ! 6: char * convexp(); ! 7: char * expmatch(); ! 8: main() ! 9: { ! 10: char reg[132]; ! 11: char *ireg; ! 12: char str[132]; ! 13: char *match; ! 14: char matstr[132]; ! 15: char c; ! 16: ! 17: while (1) { ! 18: printf ("\nexpr: "); ! 19: scanf ("%s", reg); ! 20: ireg = convexp(reg); ! 21: match = ireg; ! 22: while(*match) { ! 23: switch (*match) { ! 24: ! 25: case '\\': ! 26: case '(': ! 27: case ')': ! 28: case '|': ! 29: printf ("%c", *match); ! 30: break; ! 31: ! 32: default: ! 33: if (isalnum(*match)) ! 34: printf("%c", *match); ! 35: else ! 36: printf ("<%03o>", *match); ! 37: break; ! 38: } ! 39: match++; ! 40: } ! 41: printf("\n"); ! 42: getchar(); ! 43: while(1) { ! 44: printf ("string: "); ! 45: match = str; ! 46: while ((c = getchar()) != '\n') ! 47: *match++ = c; ! 48: *match = 0; ! 49: if (str[0] == '#') ! 50: break; ! 51: matstr[0] = 0; ! 52: _start = str; ! 53: _escaped = 0; ! 54: match = expmatch (str, ireg, matstr); ! 55: if (match == 0) ! 56: printf ("FAILED\n"); ! 57: else ! 58: printf ("match\nmatstr = %s\n", matstr); ! 59: } ! 60: ! 61: } ! 62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.