]>
git.saurik.com Git - bison.git/blob - src/lalr.h
   1 /* Compute look-ahead criteria for bison, 
   2    Copyright (C) 1984, 1986, 1989, 2000, 2002 Free Software Foundation, Inc. 
   4    This file is part of Bison, the GNU Compiler Compiler. 
   6    Bison is free software; you can redistribute it and/or modify 
   7    it under the terms of the GNU General Public License as published by 
   8    the Free Software Foundation; either version 2, or (at your option) 
  11    Bison is distributed in the hope that it will be useful, 
  12    but WITHOUT ANY WARRANTY; without even the implied warranty of 
  13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  14    GNU General Public License for more details. 
  16    You should have received a copy of the GNU General Public License 
  17    along with Bison; see the file COPYING.  If not, write to 
  18    the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
  19    Boston, MA 02111-1307, USA.  */ 
  27 /* Import the definition of RULE_T. */ 
  30 /* Import the definition of CORE, TRANSITIONS and REDUCTIONS. */ 
  33 /* Compute how to make the finite state machine deterministic; find 
  34    which rules need lookahead in each state, and which lookahead 
  35    tokens they accept.  */ 
  39 /* Release the information related to lookaheads.  Can be performed 
  40    once the action tables are computed.  */ 
  42 void lalr_free (void); 
  45 /* lalr() builds these data structures. */ 
  47 /* GOTO_MAP, FROM_STATE and TO_STATE -- record each shift transition 
  48    which accepts a variable (a nonterminal). 
  50    FROM_STATE[T] -- state number which a transition leads from. 
  51    TO_STATE[T] -- state number it leads to. 
  53    All the transitions that accept a particular variable are grouped 
  54    together and GOTO_MAP[I - NTOKENS] is the index in FROM_STATE and 
  55    TO_STATE of the first of them.  */ 
  57 typedef short goto_number
; 
  58 # define GOTO_NUMBER_MAXIMUM SHRT_MAX 
  60 extern goto_number 
*goto_map
; 
  61 extern state_number 
*from_state
; 
  62 extern state_number 
*to_state
;