root/usr/src/cmd/vgrind/retest.c
/*
 * Copyright (c) 1980 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 */

#include <ctype.h>

int l_onecase = 0;

char    *l_idchars = "_";       /* characters legal in identifiers in addition
                                   to alphanumerics */

char * Start;
char * _escaped;
char * convexp();
char * expmatch();
main()
{
    char reg[132];
    char *ireg;
    char str[132];
    char *match;
    char matstr[132];
    char c;

    while (1) {
        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();
        while(1) {
            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);
        }

    }
}