1*8661Smckusick static char sccsid[] = "@(#)retest.c	4.1	(Berkeley)	10/19/82";
2*8661Smckusick 
3*8661Smckusick #include <ctype.h>
4*8661Smckusick 
5*8661Smckusick int l_onecase = 0;
6*8661Smckusick char * _start;
7*8661Smckusick char * _escaped;
8*8661Smckusick char * convexp();
9*8661Smckusick char * expmatch();
10*8661Smckusick main()
11*8661Smckusick {
12*8661Smckusick     char reg[132];
13*8661Smckusick     char *ireg;
14*8661Smckusick     char str[132];
15*8661Smckusick     char *match;
16*8661Smckusick     char matstr[132];
17*8661Smckusick     char c;
18*8661Smckusick 
19*8661Smckusick     while (1) {
20*8661Smckusick 	printf ("\nexpr: ");
21*8661Smckusick 	scanf ("%s", reg);
22*8661Smckusick 	ireg = convexp(reg);
23*8661Smckusick 	match = ireg;
24*8661Smckusick 	while(*match) {
25*8661Smckusick 	    switch (*match) {
26*8661Smckusick 
27*8661Smckusick 	    case '\\':
28*8661Smckusick 	    case '(':
29*8661Smckusick 	    case ')':
30*8661Smckusick 	    case '|':
31*8661Smckusick 		printf ("%c", *match);
32*8661Smckusick 		break;
33*8661Smckusick 
34*8661Smckusick 	    default:
35*8661Smckusick 		if (isalnum(*match))
36*8661Smckusick 		    printf("%c", *match);
37*8661Smckusick 		else
38*8661Smckusick 		    printf ("<%03o>", *match);
39*8661Smckusick 		break;
40*8661Smckusick 	    }
41*8661Smckusick 	    match++;
42*8661Smckusick 	}
43*8661Smckusick 	printf("\n");
44*8661Smckusick 	getchar();
45*8661Smckusick 	while(1) {
46*8661Smckusick 	    printf ("string: ");
47*8661Smckusick 	    match = str;
48*8661Smckusick 	    while ((c = getchar()) != '\n')
49*8661Smckusick 		*match++ = c;
50*8661Smckusick 	    *match = 0;
51*8661Smckusick 	    if (str[0] == '#')
52*8661Smckusick 		break;
53*8661Smckusick 	    matstr[0] = 0;
54*8661Smckusick 	    _start = str;
55*8661Smckusick 	    _escaped = 0;
56*8661Smckusick 	    match = expmatch (str, ireg, matstr);
57*8661Smckusick 	    if (match == 0)
58*8661Smckusick 		printf ("FAILED\n");
59*8661Smckusick 	    else
60*8661Smckusick 		printf ("match\nmatstr = %s\n", matstr);
61*8661Smckusick 	}
62*8661Smckusick 
63*8661Smckusick     }
64*8661Smckusick }
65