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