xref: /titanic_50/usr/src/cmd/vgrind/retest.c (revision c5c4113dfcabb1eed3d4bdf7609de5170027a794)
1 /*
2  * Copyright (c) 1980 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  */
6 
7 #pragma ident	"%Z%%M%	%I%	%E% SMI"
8 	  /* from UCB 5.1 (Berkeley) 6/5/85 */
9 
10 #include <ctype.h>
11 
12 int l_onecase = 0;
13 
14 char	*l_idchars = "_";	/* characters legal in identifiers in addition
15 				   to alphanumerics */
16 
17 char * Start;
18 char * _escaped;
19 char * convexp();
20 char * expmatch();
21 main()
22 {
23     char reg[132];
24     char *ireg;
25     char str[132];
26     char *match;
27     char matstr[132];
28     char c;
29 
30     while (1) {
31 	printf ("\nexpr: ");
32 	scanf ("%s", reg);
33 	ireg = convexp(reg);
34 	match = ireg;
35 	while(*match) {
36 	    switch (*match) {
37 
38 	    case '\\':
39 	    case '(':
40 	    case ')':
41 	    case '|':
42 		printf ("%c", *match);
43 		break;
44 
45 	    default:
46 		if (isalnum(*match))
47 		    printf("%c", *match);
48 		else
49 		    printf ("<%03o>", *match);
50 		break;
51 	    }
52 	    match++;
53 	}
54 	printf("\n");
55 	getchar();
56 	while(1) {
57 	    printf ("string: ");
58 	    match = str;
59 	    while ((c = getchar()) != '\n')
60 		*match++ = c;
61 	    *match = 0;
62 	    if (str[0] == '#')
63 		break;
64 	    matstr[0] = 0;
65 	    Start = str;
66 	    _escaped = 0;
67 	    match = expmatch (str, ireg, matstr);
68 	    if (match == 0)
69 		printf ("FAILED\n");
70 	    else
71 		printf ("match\nmatstr = %s\n", matstr);
72 	}
73 
74     }
75 }
76