/* Subroutines for bison
- Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
#ifndef CLOSURE_H_
# define CLOSURE_H_
-/* Subroutines of file LR0.c. */
-
/* Allocates the itemset and ruleset vectors, and precomputes useful
data so that closure can be called. n is the number of elements to
allocate for itemset. */
-void new_closure PARAMS ((int n));
+void new_closure (int n);
/* Given the kernel (aka core) of a state (a vector of item numbers
- ITEMS, of length N), set up ruleset and itemset to indicate what
+ ITEMS, of length N), set up RULESET and ITEMSET to indicate what
rules could be run and which items could be accepted when those
items are the active ones.
- ruleset contains a bit for each rule. closure sets the bits for
+ RULESET contains a bit for each rule. CLOSURE sets the bits for
all rules which could potentially describe the next input to be
read.
ITEMSET is a vector of item numbers; NITEMSET is its size
- 9actually, points to just beyond the end of the part of it that is
- significant). closure places there the indices of all items which
+ (actually, points to just beyond the end of the part of it that is
+ significant). CLOSURE places there the indices of all items which
represent units of input that could arrive next. */
-void closure PARAMS ((short *items, int n));
+void closure (item_number_t *items, int n);
-/* Frees itemset, ruleset and internal data. */
+/* Frees ITEMSET, RULESET and internal data. */
-void free_closure PARAMS ((void));
+void free_closure (void);
-extern short *itemset;
-extern int nitemset;
+extern item_number_t *itemset;
+extern int nritemset;
#endif /* !CLOSURE_H_ */