projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
lint
[unix-history]
/
usr
/
src
/
old
/
regexp
/
retest.c
#include <ctype.h>
int
l_onecase
=
0
;
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
(
"
\n
expr: "
);
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
\n
matstr = %s
\n
"
,
matstr
);
}
}
}