Index: bison/src/bison/2.4.1/bison-2.4.1-src/src/lalr.h |
=================================================================== |
--- bison/src/bison/2.4.1/bison-2.4.1-src/src/lalr.h (revision 0) |
+++ bison/src/bison/2.4.1/bison-2.4.1-src/src/lalr.h (revision 0) |
@@ -0,0 +1,83 @@ |
+/* Compute lookahead criteria for bison, |
+ |
+ Copyright (C) 1984, 1986, 1989, 2000, 2002, 2004, 2006, 2007 Free Software |
+ Foundation, Inc. |
+ |
+ This file is part of Bison, the GNU Compiler Compiler. |
+ |
+ This program is free software: you can redistribute it and/or modify |
+ it under the terms of the GNU General Public License as published by |
+ the Free Software Foundation, either version 3 of the License, or |
+ (at your option) any later version. |
+ |
+ This program is distributed in the hope that it will be useful, |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+ GNU General Public License for more details. |
+ |
+ You should have received a copy of the GNU General Public License |
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
+ |
+#ifndef LALR_H_ |
+# define LALR_H_ |
+ |
+# include <bitset.h> |
+# include <bitsetv.h> |
+ |
+/* Import the definition of RULE_T. */ |
+# include "gram.h" |
+ |
+/* Import the definition of CORE, TRANSITIONS and REDUCTIONS. */ |
+# include "state.h" |
+ |
+ |
+/** Build the LALR(1) automaton. |
+ |
+ Compute how to make the finite state machine deterministic; find |
+ which rules need lookahead in each state, and which lookahead |
+ tokens they accept. |
+ |
+ Builds: |
+ - #goto_map |
+ - #from_state |
+ - #to_state |
+*/ |
+void lalr (void); |
+ |
+/** |
+ * Update state numbers recorded in #goto_map, #from_state, and #to_state such |
+ * that: |
+ * - \c nstates_old is the old number of states. |
+ * - Where \c i is the old state number, <tt>old_to_new[i]</tt> is either: |
+ * - \c nstates_old if state \c i is removed because it is unreachable. |
+ * Thus, remove all goto entries involving this state. |
+ * - The new state number. |
+ */ |
+void lalr_update_state_numbers (state_number old_to_new[], |
+ state_number nstates_old); |
+ |
+ |
+/** Release the information related to lookahead tokens. |
+ |
+ Can be performed once the action tables are computed. */ |
+void lalr_free (void); |
+ |
+ |
+typedef size_t goto_number; |
+# define GOTO_NUMBER_MAXIMUM ((goto_number) -1) |
+ |
+/** Index into #from_state and #to_state. |
+ |
+ All the transitions that accept a particular variable are grouped |
+ together and GOTO_MAP[I - NTOKENS] is the index in FROM_STATE and |
+ TO_STATE of the first of them. */ |
+extern goto_number *goto_map; |
+ |
+/** State number which a transition leads from. */ |
+extern state_number *from_state; |
+ |
+/** State number it leads to. */ |
+extern state_number *to_state; |
+ |
+ |
+#endif /* !LALR_H_ */ |
Property changes on: bison\src\bison\2.4.1\bison-2.4.1-src\src\lalr.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |