xref: /csrg-svn/usr.bin/vgrind/RETEST/retest.c (revision 22064)
1*22064Sdist /*
2*22064Sdist  * Copyright (c) 1980 Regents of the University of California.
3*22064Sdist  * All rights reserved.  The Berkeley software License Agreement
4*22064Sdist  * specifies the terms and conditions for redistribution.
5*22064Sdist  */
68661Smckusick 
7*22064Sdist #ifndef lint
8*22064Sdist static char sccsid[] = "@(#)retest.c	5.1 (Berkeley) 06/05/85";
9*22064Sdist #endif not lint
10*22064Sdist 
118661Smckusick #include <ctype.h>
128661Smckusick 
138661Smckusick int l_onecase = 0;
148661Smckusick char * _start;
158661Smckusick char * _escaped;
168661Smckusick char * convexp();
178661Smckusick char * expmatch();
188661Smckusick main()
198661Smckusick {
208661Smckusick     char reg[132];
218661Smckusick     char *ireg;
228661Smckusick     char str[132];
238661Smckusick     char *match;
248661Smckusick     char matstr[132];
258661Smckusick     char c;
268661Smckusick 
278661Smckusick     while (1) {
288661Smckusick 	printf ("\nexpr: ");
298661Smckusick 	scanf ("%s", reg);
308661Smckusick 	ireg = convexp(reg);
318661Smckusick 	match = ireg;
328661Smckusick 	while(*match) {
338661Smckusick 	    switch (*match) {
348661Smckusick 
358661Smckusick 	    case '\\':
368661Smckusick 	    case '(':
378661Smckusick 	    case ')':
388661Smckusick 	    case '|':
398661Smckusick 		printf ("%c", *match);
408661Smckusick 		break;
418661Smckusick 
428661Smckusick 	    default:
438661Smckusick 		if (isalnum(*match))
448661Smckusick 		    printf("%c", *match);
458661Smckusick 		else
468661Smckusick 		    printf ("<%03o>", *match);
478661Smckusick 		break;
488661Smckusick 	    }
498661Smckusick 	    match++;
508661Smckusick 	}
518661Smckusick 	printf("\n");
528661Smckusick 	getchar();
538661Smckusick 	while(1) {
548661Smckusick 	    printf ("string: ");
558661Smckusick 	    match = str;
568661Smckusick 	    while ((c = getchar()) != '\n')
578661Smckusick 		*match++ = c;
588661Smckusick 	    *match = 0;
598661Smckusick 	    if (str[0] == '#')
608661Smckusick 		break;
618661Smckusick 	    matstr[0] = 0;
628661Smckusick 	    _start = str;
638661Smckusick 	    _escaped = 0;
648661Smckusick 	    match = expmatch (str, ireg, matstr);
658661Smckusick 	    if (match == 0)
668661Smckusick 		printf ("FAILED\n");
678661Smckusick 	    else
688661Smckusick 		printf ("match\nmatstr = %s\n", matstr);
698661Smckusick 	}
708661Smckusick 
718661Smckusick     }
728661Smckusick }
73