/[bison]/bison/src/output.c
ViewVC logotype

Diff of /bison/src/output.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.110 by akim, Thu Dec 27 18:17:39 2001 UTC revision 1.111 by akim, Sat Dec 29 14:14:32 2001 UTC
# Line 1  Line 1 
1  /* Output the generated parsing program for bison,  /* Output the generated parsing program for bison,
2     Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.     Copyright 1984, 1986, 1989, 1992, 2000, 2001
3       Free Software Foundation, Inc.
4    
5     This file is part of Bison, the GNU Compiler Compiler.     This file is part of Bison, the GNU Compiler Compiler.
6    
# Line 19  Line 20 
20     02111-1307, USA.  */     02111-1307, USA.  */
21    
22    
23  /* The parser tables consist of these tables.  /* The parser tables consist of these tables.  Marked ones needed only
24     Starred ones needed only for the semantic parser.     for the semantic parser.  Double marked are output only if switches
25     Double starred are output only if switches are set.     are set.
26    
27     yytranslate = vector mapping yylex's token numbers into bison's token     YYTRANSLATE = vector mapping yylex's token numbers into bison's
28     numbers.     token numbers.
29    
30     ** yytname = vector of string-names indexed by bison token number     ++ YYTNAME = vector of string-names indexed by bison token number.
31    
32     ** yytoknum = vector of yylex token numbers corresponding to entries     ++ YYTOKNUM = vector of yylex token numbers corresponding to
33     in yytname     entries in YYTNAME.
34    
35     yyrline = vector of line-numbers of all rules.  For yydebug printouts.     YYRLINE = vector of line-numbers of all rules.  For yydebug
36       printouts.
37    
38     yyrhs = vector of items of all rules.     YYRHS = vector of items of all rules.  This is exactly what RITEMS
39     This is exactly what ritems contains.  For yydebug and for semantic     contains.  For yydebug and for semantic parser.
    parser.  
40    
41     yyprhs[r] = index in yyrhs of first item for rule r.     YYPRHS[R] = index in YYRHS of first item for rule R.
42    
43     yyr1[r] = symbol number of symbol that rule r derives.     YYR1[R] = symbol number of symbol that rule R derives.
44    
45     yyr2[r] = number of symbols composing right hand side of rule r.     YYR2[R] = number of symbols composing right hand side of rule R.
46    
47     * yystos[s] = the symbol number of the symbol that leads to state s.     + YYSTOS[S] = the symbol number of the symbol that leads to state
48       S.
49    
50     yydefact[s] = default rule to reduce with in state s,     YYDEFACT[S] = default rule to reduce with in state s, when YYTABLE
51     when yytable doesn't specify something else to do.     doesn't specify something else to do.  Zero means the default is an
52     Zero means the default is an error.     error.
53    
54     yydefgoto[i] = default state to go to after a reduction of a rule that     YYDEFGOTO[I] = default state to go to after a reduction of a rule
55     generates variable ntokens + i, except when yytable     that generates variable NTOKENS + I, except when YYTABLE specifies
56     specifies something else to do.     something else to do.
57    
58     yypact[s] = index in yytable of the portion describing state s.     YYPACT[S] = index in YYTABLE of the portion describing state S.
59     The lookahead token's type is used to index that portion     The lookahead token's type is used to index that portion to find
60     to find out what to do.     out what to do.
61    
62     If the value in yytable is positive,     If the value in YYTABLE is positive, we shift the token and go to
63     we shift the token and go to that state.     that state.
64    
65     If the value is negative, it is minus a rule number to reduce by.     If the value is negative, it is minus a rule number to reduce by.
66    
67     If the value is zero, the default action from yydefact[s] is used.     If the value is zero, the default action from YYDEFACT[S] is used.
68    
69     yypgoto[i] = the index in yytable of the portion describing     YYPGOTO[I] = the index in YYTABLE of the portion describing what to
70     what to do after reducing a rule that derives variable i + ntokens.     do after reducing a rule that derives variable I + NTOKENS.  This
71     This portion is indexed by the parser state number, s,     portion is indexed by the parser state number, S, as of before the
72     as of before the text for this nonterminal was read.     text for this nonterminal was read.  The value from YYTABLE is the
73     The value from yytable is the state to go to if     state to go to if the corresponding value in YYCHECK is S.
74     the corresponding value in yycheck is s.  
75       YYTABLE = a vector filled with portions for different uses, found
76     yytable = a vector filled with portions for different uses,     via YYPACT and YYPGOTO.
77     found via yypact and yypgoto.  
78       YYCHECK = a vector indexed in parallel with YYTABLE.  It indicates,
79     yycheck = a vector indexed in parallel with yytable.     in a roundabout way, the bounds of the portion you are trying to
80     It indicates, in a roundabout way, the bounds of the     examine.
81     portion you are trying to examine.  
82       Suppose that the portion of yytable starts at index P and the index
83     Suppose that the portion of yytable starts at index p     to be examined within the portion is I.  Then if YYCHECK[P+I] != I,
84     and the index to be examined within the portion is i.     I is outside the bounds of what is actually allocated, and the
85     Then if yycheck[p+i] != i, i is outside the bounds     default (from YYDEFACT or YYDEFGOTO) should be used.  Otherwise,
86     of what is actually allocated, and the default     YYTABLE[P+I] should be used.
87     (from yydefact or yydefgoto) should be used.  
88     Otherwise, yytable[p+i] should be used.     YYFINAL = the state number of the termination state.  YYFLAG = most
89       negative short int.  Used to flag ??  */
    YYFINAL = the state number of the termination state.  
    YYFLAG = most negative short int.  Used to flag ??  
    YYNTBASE = ntokens.  
 */  
90    
91  #include "system.h"  #include "system.h"
92  #include "quotearg.h"  #include "quotearg.h"

Legend:
Removed from v.1.110  
changed lines
  Added in v.1.111

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26