1 |
/* Compute look-ahead criteria for bison, |
/* Compute look-ahead criteria for bison, |
2 |
Copyright 1984, 1986, 1989, 2000, 2002 Free Software Foundation, Inc. |
Copyright (C) 1984, 1986, 1989, 2000, 2002 Free Software Foundation, Inc. |
3 |
|
|
4 |
This file is part of Bison, the GNU Compiler Compiler. |
This file is part of Bison, the GNU Compiler Compiler. |
5 |
|
|
26 |
/* Import the definition of CORE, SHIFTS and REDUCTIONS. */ |
/* Import the definition of CORE, SHIFTS and REDUCTIONS. */ |
27 |
# include "state.h" |
# include "state.h" |
28 |
|
|
29 |
|
/* Import the definition of RULE_T. */ |
30 |
|
# include "gram.h" |
31 |
|
|
32 |
/* Compute how to make the finite state machine deterministic; find |
/* Compute how to make the finite state machine deterministic; find |
33 |
which rules need lookahead in each state, and which lookahead |
which rules need lookahead in each state, and which lookahead |
52 |
extern short *from_state; |
extern short *from_state; |
53 |
extern short *to_state; |
extern short *to_state; |
54 |
|
|
55 |
/* LARULENO is a vector which records the rules that need lookahead in |
/* LARULE is a vector which records the rules that need lookahead in |
56 |
various states. The elements of LARULENO that apply to state S are |
various states. The elements of LARULE that apply to state S are |
57 |
those from LOOKAHEADS[S] through LOOKAHEADS[S+1]-1. Each element |
those from LOOKAHEADS[S] through LOOKAHEADS[S+1]-1. |
|
of LARULENO is a rule number. |
|
58 |
|
|
59 |
If LR is the length of LAruleno, then a number from 0 to LR-1 can |
If LR is the length of LArule, then a number from 0 to LR-1 can |
60 |
specify both a rule and a state where the rule might be applied. |
specify both a rule and a state where the rule might be applied. |
61 |
*/ |
*/ |
62 |
|
|
63 |
extern short *LAruleno; |
extern rule_t **LArule; |
64 |
|
|
65 |
/* LA is a lr by ntokens matrix of bits. LA[l, i] is 1 if the rule |
/* LA is a lr by ntokens matrix of bits. LA[l, i] is 1 if the rule |
66 |
LAruleno[l] is applicable in the appropriate state when the next |
LAruleno[l] is applicable in the appropriate state when the next |