/* Compute lookahead criteria for Bison.
- Copyright (C) 1984, 1986, 1989, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1986, 1989, 2000-2012 Free Software Foundation,
+ Inc.
This file is part of Bison, the GNU Compiler Compiler.
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* Compute how to make the finite state machine deterministic; find
- which rules need lookahead in each state, and which lookahead
+/* Find which rules need lookahead in each state, and which lookahead
tokens they accept. */
#include <config.h>
#include "getargs.h"
#include "gram.h"
#include "lalr.h"
-#include "muscle_tab.h"
+#include "muscle-tab.h"
#include "nullable.h"
#include "reader.h"
#include "relation.h"
/* We need a lookahead either to distinguish different reductions
(i.e., there are two or more), or to distinguish a reduction from a
shift. Otherwise, it is straightforward, and the state is
- `consistent'. However, treat only the accepting state as
- consistent (because there is never a lookahead token that makes
- sense there, and so no lookahead token should be read) if the user
- has otherwise disabled default reductions. */
+ `consistent'. However, do not treat a state with any reductions as
+ consistent unless it is the accepting state (because there is never
+ a lookahead token that makes sense there, and so no lookahead token
+ should be read) if the user has otherwise disabled default
+ reductions. */
if (rp->num > 1
|| (rp->num == 1 && sp->num && TRANSITION_IS_SHIFT (sp, 0))
|| (rp->num == 1 && rp->rules[0]->number != 0