Unused static function rm_SetElement was removed.
[idzebra-moved-to-github.git] / dfa / lexer.c
index 9729d9e..85fa2e5 100644 (file)
@@ -4,7 +4,21 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: lexer.c,v $
- * Revision 1.2  1994-09-27 16:31:20  adam
+ * 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
@@ -58,7 +72,7 @@ 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':
@@ -103,8 +117,7 @@ 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
@@ -112,27 +125,32 @@ int main (int argc, char **argv)
 #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