]> git.saurik.com Git - bison.git/blobdiff - src/closure.c
* tests/regression.at (Invalid input: 2): New.
[bison.git] / src / closure.c
index 87ad8c5f5f054abc6e2a24d8bdedaf3bc7ba5da4..03a59f0bfb79732f9ba8c26e52db79c1547cd2b4 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines for bison
 /* Subroutines for bison
-   Copyright (C) 1984, 1989, 2000 Free Software Foundation, Inc.
+   Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    02111-1307, USA.  */
 
    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    02111-1307, USA.  */
 
-
 #include "system.h"
 #include "system.h"
-#include "alloc.h"
 #include "gram.h"
 #include "closure.h"
 #include "gram.h"
 #include "closure.h"
-
-extern short **derives;
-
-extern void RTC PARAMS ((unsigned *, int));
+#include "derives.h"
+#include "warshall.h"
 
 short *itemset;
 short *itemsetend;
 
 short *itemset;
 short *itemsetend;
@@ -126,7 +122,7 @@ set_firsts (void)
 
   varsetsize = rowsize = WORDSIZE (nvars);
 
 
   varsetsize = rowsize = WORDSIZE (nvars);
 
-  firsts = NEW2 (nvars * rowsize, unsigned);
+  firsts = XCALLOC (unsigned, nvars * rowsize);
 
   row = firsts;
   for (i = ntokens; i < nsyms; i++)
 
   row = firsts;
   for (i = ntokens; i < nsyms; i++)
@@ -175,7 +171,7 @@ set_fderives (void)
   int ruleno;
   int i;
 
   int ruleno;
   int i;
 
-  fderives = NEW2 (nvars * rulesetsize, unsigned) - ntokens * rulesetsize;
+  fderives = XCALLOC (unsigned, nvars * rulesetsize) - ntokens * rulesetsize;
 
   set_firsts ();
 
 
   set_firsts ();
 
@@ -212,17 +208,17 @@ set_fderives (void)
   print_fderives ();
 #endif
 
   print_fderives ();
 #endif
 
-  FREE (firsts);
+  XFREE (firsts);
 }
 \f
 
 void
 new_closure (int n)
 {
 }
 \f
 
 void
 new_closure (int n)
 {
-  itemset = NEW2 (n, short);
+  itemset = XCALLOC (short, n);
 
   rulesetsize = WORDSIZE (nrules + 1);
 
   rulesetsize = WORDSIZE (nrules + 1);
-  ruleset = NEW2 (rulesetsize, unsigned);
+  ruleset = XCALLOC (unsigned, rulesetsize);
 
   set_fderives ();
 }
 
   set_fderives ();
 }
@@ -314,7 +310,7 @@ closure (short *core, int n)
 void
 free_closure (void)
 {
 void
 free_closure (void)
 {
-  FREE (itemset);
-  FREE (ruleset);
-  FREE (fderives + ntokens * rulesetsize);
+  XFREE (itemset);
+  XFREE (ruleset);
+  XFREE (fderives + ntokens * rulesetsize);
 }
 }