* Sebastian Hammer, Adam Dickmeiss
*
* $Log: lexer.c,v $
- * Revision 1.2 1994-09-27 16:31:20 adam
+ * Revision 1.8 1995-09-28 09:18:54 adam
+ * Removed various preprocessor defines.
+ *
+ * Revision 1.7 1995/09/04 12:33:27 adam
+ * Various cleanup. YAZ util used instead.
+ *
+ * Revision 1.6 1995/01/25 11:30:51 adam
+ * Simple error reporting when parsing regular expressions.
+ * Memory usage reduced.
+ *
+ * Revision 1.5 1995/01/24 16:00:22 adam
+ * Added -ansi to CFLAGS.
+ * Some changes to the dfa module.
+ *
+ * Revision 1.4 1994/10/04 17:46:44 adam
+ * Function options now returns arg with error option.
+ *
+ * Revision 1.3 1994/10/03 17:22:19 adam
+ * Optimization of grepper.
+ *
+ * Revision 1.2 1994/09/27 16:31:20 adam
* First version of grepper: grep with error correction.
*
* Revision 1.1 1994/09/26 10:16:55 adam
#include <string.h>
#include <stdarg.h>
-#include <util.h>
+#include <alexutil.h>
#include <dfa.h>
#include "imalloc.h"
#include "lexer.h"
exit (1);
}
-#ifdef YACC
-extern int yydebug;
-#else
-extern int alexdebug;
-#endif
int ccluse = 0;
static int lexer_options (int argc, char **argv)
case 'V':
fprintf (stderr, "%s: %s %s\n", prog, __DATE__, __TIME__);
continue;
- case 'v':
+ case 's':
dfa_verbose = 1;
continue;
- case 't':
-#ifdef YACC
- yydebug = 1;
-#else
- alexdebug = 1;
-#endif
- continue;
case 'c':
ccluse = 1;
continue;
int main (int argc, char **argv)
{
int i, no = 0;
- DFA *dfa;
- DFA_states *dfas;
+ struct DFA *dfa;
prog = *argv;
-#ifdef YACC
- yydebug = 0;
-#else
- alexdebug = 0;
-#endif
+ dfa = dfa_init ();
i = lexer_options (argc, argv);
if (i)
return i;
if (argc < 2)
{
- fprintf (stderr, "usage\n %s [-c] [-V] [-v] [-t] [-d[stf]] file\n",
+ fprintf (stderr, "usage\n %s [-c] [-V] [-s] [-t] [-d[stf]] file\n",
prog);
return 1;
}
else while (--argc > 0)
- if (**++argv != '-' && **argv)
- {
- ++no;
- i = read_file (*argv, &dfa);
- if (i)
- return i;
- dfas = mk_dfas (dfa, 2000);
- rm_dfa (&dfa);
- rm_dfas (&dfas);
- }
+ if (**++argv != '-' && **argv)
+ {
+ ++no;
+
+ i = read_file (*argv, dfa);
+ if (i)
+ return i;
+ dfa_mkstate (dfa);
+
+#ifdef MEMDEBUG
+ imemstat();
+#endif
+ }
+ dfa_delete (&dfa);
#ifdef MEMDEBUG
imemstat();
#endif