home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 45
/
Amiga_Dream_45.iso
/
Amiga
/
Magazine
/
Dossier-LaTeX
/
lgrind-amiga.lha
/
lgrind
/
src
/
retest.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-08-03
|
1KB
|
78 lines
/* Test program for the regular expression routines */
#define lint 1
#ifndef lint
static char *sccsid="@(#)retest.c 1.1 (LBL) 3/29/85";
/*static char sccsid[] = "@(#)retest.c 4.1 (Berkeley) 10/19/82";*/
static char Version[] =
"$Id: retest.c,v 1.2 91/10/01 00:29:31 gvr Exp $";
#endif
#include <stdio.h>
#include <ctype.h>
int l_onecase = 0;
unsigned char *_start;
unsigned char *_escaped;
unsigned char *convexp();
unsigned char *expmatch();
main()
{
unsigned char reg[132];
unsigned char *ireg;
unsigned char str[132];
unsigned char *match;
unsigned char matstr[132];
unsigned 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);
}
}
}