/* Test program for the regular expression routines */ #ifndef lint static char sccsid[] = "@(#)retest.c 1.1 (LBL) 29/3/85"; static char rcsid[] = "$Id: retest.c,v 1.3 1999/05/26 07:30:03 mike Exp $"; #endif #include #include int l_onecase = 0; char *_start; char *_escaped; char *convexp(); char *expmatch(); char *l_id="_"; main() { char reg[132]; char *ireg; char str[132]; char *match; char matstr[132]; char c; for (;;) { printf ("\nexpr: "); scanf ("%s", reg); ireg = convexp(reg); match = ireg; while(*match) { switch (*match) { case '\\': case '(': case ')': case '|': printf ("%c", *match); break; default: if (isalnum(*match)) printf("%c", *match); else printf ("<%03o>", *match); break; } match++; } printf("\n"); getchar(); for (;;) { printf ("string: "); match = str; while ((c = getchar()) != '\n') *match++ = c; *match = 0; if (str[0] == '#') break; matstr[0] = 0; _start = str; _escaped = 0; match = expmatch (str, ireg, matstr); if (match == 0) printf ("FAILED\n"); else printf ("match\nmatstr = %s\n", matstr); } } }