/* Type definitions for nondeterministic finite state machine for Bison.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "system.h"
void
state_transitions_set (state *s, int num, state **trans)
{
- if (s->transitions)
- abort ();
+ assert (!s->transitions);
s->transitions = transitions_new (num, trans);
}
void
state_reductions_set (state *s, int num, rule **reds)
{
- if (s->reductions)
- abort ();
+ assert (!s->reductions);
s->reductions = reductions_new (num, reds);
}
}
-/*----------------------.
+/*---------------------.
| A state hash table. |
-`----------------------*/
+`---------------------*/
/* Initial capacity of states hash table. */
#define HT_INITIAL_CAPACITY 257
static inline bool
state_compare (state const *s1, state const *s2)
{
- int i;
+ size_t i;
if (s1->nitems != s2->nitems)
return false;
{
/* Add up the state's item numbers to get a hash key. */
size_t key = 0;
- int i;
+ size_t i;
for (i = 0; i < s->nitems; ++i)
key += s->items[i];
return key % tablesize;