fixed intialization of coefficients
[pspp] / src / language / lexer / q2c.c
index a62cf9171b30442fdc5adb4ebe2d075a76425b24..a6de4ac62bbf95bf00bf69bc8316216eda1aed5b 100644 (file)
@@ -27,6 +27,7 @@
 #include <time.h>
 #include <errno.h>
 #include <unistd.h>
+#include <libpspp/assertion.h>
 #include <libpspp/compiler.h>
 #include <libpspp/str.h>
 #include "exit.h"
@@ -739,8 +740,6 @@ parse_specifiers (subcommand *sbc)
 static void
 parse_subcommand (subcommand *sbc)
 {
-  sbc->arity = ARITY_MANY;
-
   if (match_token ('*'))
     {
       if (def)
@@ -748,8 +747,9 @@ parse_subcommand (subcommand *sbc)
       def = sbc;
     }
 
+  sbc->arity = ARITY_ONCE_ONLY;
   if ( match_token('+'))
-    sbc->arity = ARITY_ONCE_ONLY ;
+    sbc->arity = ARITY_MANY;
   else if (match_token('^'))
     sbc->arity = ARITY_ONCE_EXACTLY ;
 
@@ -1322,7 +1322,7 @@ dump_vars_init (int persistent)
                break;
 
              default:
-               assert (0);
+               NOT_REACHED ();
              }
          }
       }
@@ -1710,7 +1710,7 @@ dump_subcommand (const subcommand *sbc)
       dump (0, "goto lossage;");
       dump (-1, "default:");
       indent ();
-      dump (0, "assert (0);");
+      dump (0, "NOT_REACHED ();");
       dump (-1, "}");
       outdent ();
     }
@@ -1776,7 +1776,7 @@ dump_parser (int persistent)
       dump (0, "break;");
       dump (-1, "default:");
       indent ();
-      dump (0, "assert (0);");
+      dump (0, "NOT_REACHED ();");
       dump (-1, "}");
       outdent ();
     }
@@ -2031,6 +2031,7 @@ main (int argc, char *argv[])
 
          dump (0, "#include <stdlib.h>");
          dump (0, "#include <libpspp/alloc.h>");
+         dump (0, "#include <libpspp/assertion.h>");
          dump (0, "#include <libpspp/message.h>");
          dump (0, "#include <language/lexer/lexer.h>");
          dump (0, "#include <language/lexer/variable-parser.h>");