* Sebastian Hammer, Adam Dickmeiss
*
* $Log: agrep.c,v $
- * Revision 1.3 1994-09-27 16:31:18 adam
+ * Revision 1.5 1995-09-04 12:33:25 adam
+ * Various cleanup. YAZ util used instead.
+ *
+ * Revision 1.4 1995/01/24 16:00:21 adam
+ * Added -ansi to CFLAGS.
+ * Some changes to the dfa module.
+ *
+ * Revision 1.3 1994/09/27 16:31:18 adam
* First version of grepper: grep with error correction.
*
* Revision 1.2 1994/09/26 16:30:56 adam
#include <unistd.h>
-#include <util.h>
+#include <alexutil.h>
#include <dfa.h>
#include "imalloc.h"
static int go (fd, dfaar)
int fd;
-DFA_state **dfaar;
+struct DFA_state **dfaar;
{
- DFA_state *s = dfaar[0];
- DFA_tran *t;
+ struct DFA_state *s = dfaar[0];
+ struct DFA_tran *t;
char *p;
int i;
unsigned char c;
}
int agrep (dfas, fd)
-DFA_states *dfas;
+struct DFA_state **dfas;
int fd;
{
inf_buf = imalloc (sizeof(char)*INF_BUF_SIZE);
inf_flush (fd);
line_no = 1;
- go (fd, dfas->sortarray);
+ go (fd, dfas);
ifree (inf_buf);
return 0;
char *pattern = NULL;
char outbuf[BUFSIZ];
int fd, i, no = 0;
- DFA *dfa = init_dfa();
- DFA_states *dfas;
+ struct DFA *dfa = dfa_init();
prog = *argv;
#ifdef YYDEBUG
if (!pattern)
{
pattern = *argv;
- i = parse_dfa (dfa, &pattern, dfa_thompson_chars);
+ i = dfa_parse (dfa, &pattern);
if (i || *pattern)
{
fprintf (stderr, "%s: illegal pattern\n", prog);
return 1;
}
- dfa->root = dfa->top;
- dfas = mk_dfas (dfa, 200);
- rm_dfa (&dfa);
+ dfa_mkstate (dfa);
}
else
{
fprintf (stderr, "%s: couldn't open `%s'\n", prog, *argv);
return 1;
}
- i = agrep (dfas, fd);
+ i = agrep (dfa->states, fd);
close (fd);
if (i)
return i;
return 2;
}
fflush(stdout);
+ dfa_delete (&dfa);
return 0;
}