X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Flexer.c;h=f42ebdaa944342723384c004b879af16261e49d5;hb=cf67c63195045b4ba4d535d8df5129732aab215d;hp=998b69fb2884ec9fd487983536e694128b7b78d2;hpb=c1ecb833ce85c0dc62550a4183975c7397bd4f7c;p=idzebra-moved-to-github.git diff --git a/dfa/lexer.c b/dfa/lexer.c index 998b69f..f42ebda 100644 --- a/dfa/lexer.c +++ b/dfa/lexer.c @@ -4,7 +4,24 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: lexer.c,v $ - * Revision 1.3 1994-10-03 17:22:19 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 @@ -25,7 +42,7 @@ #include #include -#include +#include #include #include "imalloc.h" #include "lexer.h" @@ -43,11 +60,6 @@ void error (const char *format, ...) exit (1); } -#ifdef YACC -extern int yydebug; -#else -extern int alexdebug; -#endif int ccluse = 0; static int lexer_options (int argc, char **argv) @@ -64,13 +76,6 @@ static int lexer_options (int argc, char **argv) case 's': dfa_verbose = 1; continue; - case 't': -#ifdef YACC - yydebug = 1; -#else - alexdebug = 1; -#endif - continue; case 'c': ccluse = 1; continue; @@ -106,15 +111,10 @@ static int lexer_options (int argc, char **argv) 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; @@ -126,16 +126,20 @@ int main (int argc, char **argv) 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