/[bison]/bison/src/parse-gram.c
ViewVC logotype

Diff of /bison/src/parse-gram.c

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

revision 1.48 by akim, Mon Aug 25 15:16:24 2003 UTC revision 1.49 by akim, Wed Oct 1 07:46:02 2003 UTC
# Line 78  Line 78 
78       PERCENT_DPREC = 270,       PERCENT_DPREC = 270,
79       PERCENT_MERGE = 271,       PERCENT_MERGE = 271,
80       PERCENT_DEBUG = 272,       PERCENT_DEBUG = 272,
81       PERCENT_DEFINE = 273,       PERCENT_DEFAULT_PREC = 273,
82       PERCENT_DEFINES = 274,       PERCENT_DEFINE = 274,
83       PERCENT_ERROR_VERBOSE = 275,       PERCENT_DEFINES = 275,
84       PERCENT_EXPECT = 276,       PERCENT_ERROR_VERBOSE = 276,
85       PERCENT_FILE_PREFIX = 277,       PERCENT_EXPECT = 277,
86       PERCENT_GLR_PARSER = 278,       PERCENT_FILE_PREFIX = 278,
87       PERCENT_INITIAL_ACTION = 279,       PERCENT_GLR_PARSER = 279,
88       PERCENT_LEX_PARAM = 280,       PERCENT_INITIAL_ACTION = 280,
89       PERCENT_LOCATIONS = 281,       PERCENT_LEX_PARAM = 281,
90       PERCENT_NAME_PREFIX = 282,       PERCENT_LOCATIONS = 282,
91       PERCENT_NO_LINES = 283,       PERCENT_NAME_PREFIX = 283,
92       PERCENT_NONDETERMINISTIC_PARSER = 284,       PERCENT_NO_LINES = 284,
93       PERCENT_OUTPUT = 285,       PERCENT_NONDETERMINISTIC_PARSER = 285,
94       PERCENT_PARSE_PARAM = 286,       PERCENT_OUTPUT = 286,
95       PERCENT_PURE_PARSER = 287,       PERCENT_PARSE_PARAM = 287,
96       PERCENT_SKELETON = 288,       PERCENT_PURE_PARSER = 288,
97       PERCENT_START = 289,       PERCENT_SKELETON = 289,
98       PERCENT_TOKEN_TABLE = 290,       PERCENT_START = 290,
99       PERCENT_VERBOSE = 291,       PERCENT_TOKEN_TABLE = 291,
100       PERCENT_YACC = 292,       PERCENT_VERBOSE = 292,
101       TYPE = 293,       PERCENT_YACC = 293,
102       EQUAL = 294,       TYPE = 294,
103       SEMICOLON = 295,       EQUAL = 295,
104       PIPE = 296,       SEMICOLON = 296,
105       ID = 297,       PIPE = 297,
106       ID_COLON = 298,       ID = 298,
107       PERCENT_PERCENT = 299,       ID_COLON = 299,
108       PROLOGUE = 300,       PERCENT_PERCENT = 300,
109       EPILOGUE = 301,       PROLOGUE = 301,
110       BRACED_CODE = 302       EPILOGUE = 302,
111         BRACED_CODE = 303
112     };     };
113  #endif  #endif
114  #define GRAM_EOF 0  #define GRAM_EOF 0
# Line 126  Line 127 
127  #define PERCENT_DPREC 270  #define PERCENT_DPREC 270
128  #define PERCENT_MERGE 271  #define PERCENT_MERGE 271
129  #define PERCENT_DEBUG 272  #define PERCENT_DEBUG 272
130  #define PERCENT_DEFINE 273  #define PERCENT_DEFAULT_PREC 273
131  #define PERCENT_DEFINES 274  #define PERCENT_DEFINE 274
132  #define PERCENT_ERROR_VERBOSE 275  #define PERCENT_DEFINES 275
133  #define PERCENT_EXPECT 276  #define PERCENT_ERROR_VERBOSE 276
134  #define PERCENT_FILE_PREFIX 277  #define PERCENT_EXPECT 277
135  #define PERCENT_GLR_PARSER 278  #define PERCENT_FILE_PREFIX 278
136  #define PERCENT_INITIAL_ACTION 279  #define PERCENT_GLR_PARSER 279
137  #define PERCENT_LEX_PARAM 280  #define PERCENT_INITIAL_ACTION 280
138  #define PERCENT_LOCATIONS 281  #define PERCENT_LEX_PARAM 281
139  #define PERCENT_NAME_PREFIX 282  #define PERCENT_LOCATIONS 282
140  #define PERCENT_NO_LINES 283  #define PERCENT_NAME_PREFIX 283
141  #define PERCENT_NONDETERMINISTIC_PARSER 284  #define PERCENT_NO_LINES 284
142  #define PERCENT_OUTPUT 285  #define PERCENT_NONDETERMINISTIC_PARSER 285
143  #define PERCENT_PARSE_PARAM 286  #define PERCENT_OUTPUT 286
144  #define PERCENT_PURE_PARSER 287  #define PERCENT_PARSE_PARAM 287
145  #define PERCENT_SKELETON 288  #define PERCENT_PURE_PARSER 288
146  #define PERCENT_START 289  #define PERCENT_SKELETON 289
147  #define PERCENT_TOKEN_TABLE 290  #define PERCENT_START 290
148  #define PERCENT_VERBOSE 291  #define PERCENT_TOKEN_TABLE 291
149  #define PERCENT_YACC 292  #define PERCENT_VERBOSE 292
150  #define TYPE 293  #define PERCENT_YACC 293
151  #define EQUAL 294  #define TYPE 294
152  #define SEMICOLON 295  #define EQUAL 295
153  #define PIPE 296  #define SEMICOLON 296
154  #define ID 297  #define PIPE 297
155  #define ID_COLON 298  #define ID 298
156  #define PERCENT_PERCENT 299  #define ID_COLON 299
157  #define PROLOGUE 300  #define PERCENT_PERCENT 300
158  #define EPILOGUE 301  #define PROLOGUE 301
159  #define BRACED_CODE 302  #define EPILOGUE 302
160    #define BRACED_CODE 303
161    
162    
163    
# Line 223  typedef union YYSTYPE { Line 225  typedef union YYSTYPE {
225    uniqstr uniqstr;    uniqstr uniqstr;
226  } YYSTYPE;  } YYSTYPE;
227  /* Line 191 of yacc.c.  */  /* Line 191 of yacc.c.  */
228  #line 227 "parse-gram.c"  #line 229 "parse-gram.c"
229  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
230  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
231  # define YYSTYPE_IS_TRIVIAL 1  # define YYSTYPE_IS_TRIVIAL 1
# Line 247  typedef struct YYLTYPE Line 249  typedef struct YYLTYPE
249    
250    
251  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
252  #line 251 "parse-gram.c"  #line 253 "parse-gram.c"
253    
254  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
255    
# Line 355  union yyalloc Line 357  union yyalloc
357  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
358  #define YYFINAL  3  #define YYFINAL  3
359  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
360  #define YYLAST   150  #define YYLAST   153
361    
362  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
363  #define YYNTOKENS  48  #define YYNTOKENS  49
364  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
365  #define YYNNTS  25  #define YYNNTS  25
366  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
367  #define YYNRULES  76  #define YYNRULES  77
368  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
369  #define YYNSTATES  104  #define YYNSTATES  106
370    
371  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
372  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
373  #define YYMAXUTOK   302  #define YYMAXUTOK   303
374    
375  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
376    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 406  static const unsigned char yytranslate[] Line 408  static const unsigned char yytranslate[]
408        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
409        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
410        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
411        45,    46,    47        45,    46,    47,    48
412  };  };
413    
414  #if YYDEBUG  #if YYDEBUG
# Line 417  static const unsigned char yyprhs[] = Line 419  static const unsigned char yyprhs[] =
419         0,     0,     3,     8,     9,    12,    14,    16,    18,    22,         0,     0,     3,     8,     9,    12,    14,    16,    18,    22,
420        24,    26,    29,    33,    35,    37,    39,    41,    45,    47,        24,    26,    29,    33,    35,    37,    39,    41,    45,    47,
421        49,    53,    55,    57,    60,    62,    64,    66,    68,    70,        49,    53,    55,    57,    60,    62,    64,    66,    68,    70,
422        72,    75,    77,    80,    83,    84,    88,    89,    93,    97,        72,    75,    77,    80,    83,    86,    87,    91,    92,    96,
423       101,   103,   105,   107,   108,   110,   112,   115,   117,   119,       100,   104,   106,   108,   110,   111,   113,   115,   118,   120,
424       122,   125,   129,   131,   134,   136,   139,   141,   144,   147,       122,   125,   128,   132,   134,   137,   139,   142,   144,   147,
425       148,   152,   154,   158,   161,   162,   165,   168,   172,   176,       150,   151,   155,   157,   161,   164,   165,   168,   171,   175,
426       180,   182,   184,   186,   188,   190,   191       179,   183,   185,   187,   189,   191,   193,   194
427  };  };
428    
429  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
430  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
431  {  {
432        49,     0,    -1,    50,    44,    62,    72,    -1,    -1,    50,        50,     0,    -1,    51,    45,    63,    73,    -1,    -1,    51,
433        51,    -1,    52,    -1,    45,    -1,    17,    -1,    18,    71,        52,    -1,    53,    -1,    46,    -1,    17,    -1,    19,    72,
434        71,    -1,    19,    -1,    20,    -1,    21,     4,    -1,    22,        72,    -1,    20,    -1,    21,    -1,    22,     4,    -1,    23,
435        39,    71,    -1,    23,    -1,    24,    -1,    25,    -1,    26,        40,    72,    -1,    24,    -1,    25,    -1,    26,    -1,    27,
436        -1,    27,    39,    71,    -1,    28,    -1,    29,    -1,    30,        -1,    28,    40,    72,    -1,    29,    -1,    30,    -1,    31,
437        39,    71,    -1,    31,    -1,    32,    -1,    33,    71,    -1,        40,    72,    -1,    32,    -1,    33,    -1,    34,    72,    -1,
438        35,    -1,    36,    -1,    37,    -1,    40,    -1,    56,    -1,        36,    -1,    37,    -1,    38,    -1,    41,    -1,    57,    -1,
439        53,    -1,    34,    68,    -1,    10,    -1,     8,    59,    -1,        54,    -1,    35,    69,    -1,    10,    -1,     8,    60,    -1,
440         9,    59,    -1,    -1,     6,    54,    61,    -1,    -1,     5,         9,    60,    -1,    18,     4,    -1,    -1,     6,    55,    62,
441        55,    61,    -1,     7,    38,    59,    -1,    57,    58,    59,        -1,    -1,     5,    56,    62,    -1,     7,    39,    60,    -1,
442        -1,    11,    -1,    12,    -1,    13,    -1,    -1,    38,    -1,        58,    59,    60,    -1,    11,    -1,    12,    -1,    13,    -1,
443        68,    -1,    59,    68,    -1,    38,    -1,    42,    -1,    42,        -1,    39,    -1,    69,    -1,    60,    69,    -1,    39,    -1,
444         4,    -1,    42,    70,    -1,    42,     4,    70,    -1,    60,        43,    -1,    43,     4,    -1,    43,    71,    -1,    43,     4,
445        -1,    61,    60,    -1,    63,    -1,    62,    63,    -1,    64,        71,    -1,    61,    -1,    62,    61,    -1,    64,    -1,    63,
446        -1,    52,    40,    -1,     1,    40,    -1,    -1,    43,    65,        64,    -1,    65,    -1,    53,    41,    -1,     1,    41,    -1,
447        66,    -1,    67,    -1,    66,    41,    67,    -1,    66,    40,        -1,    44,    66,    67,    -1,    68,    -1,    67,    42,    68,
448        -1,    -1,    67,    68,    -1,    67,    69,    -1,    67,    14,        -1,    67,    41,    -1,    -1,    68,    69,    -1,    68,    70,
449        68,    -1,    67,    15,     4,    -1,    67,    16,    38,    -1,        -1,    68,    14,    69,    -1,    68,    15,     4,    -1,    68,
450        42,    -1,    70,    -1,    47,    -1,     3,    -1,     3,    -1,        16,    39,    -1,    43,    -1,    71,    -1,    48,    -1,     3,
451        -1,    44,    46,    -1        -1,     3,    -1,    -1,    45,    47,    -1
452  };  };
453    
454  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
455  static const unsigned short yyrline[] =  static const unsigned short yyrline[] =
456  {  {
457         0,   170,   170,   178,   180,   184,   185,   186,   187,   188,         0,   171,   171,   179,   181,   185,   186,   187,   188,   189,
458       189,   190,   191,   192,   197,   201,   202,   203,   204,   205,       190,   191,   192,   193,   198,   202,   203,   204,   205,   206,
459       206,   207,   208,   209,   210,   211,   212,   213,   217,   218,       207,   208,   209,   210,   211,   212,   213,   214,   218,   219,
460       219,   223,   229,   236,   246,   246,   251,   251,   256,   266,       220,   224,   230,   237,   244,   254,   254,   259,   259,   264,
461       281,   282,   283,   287,   288,   294,   295,   300,   304,   309,       274,   289,   290,   291,   295,   296,   302,   303,   308,   312,
462       315,   321,   332,   333,   342,   343,   349,   350,   355,   362,       317,   323,   329,   340,   341,   350,   351,   357,   358,   363,
463       362,   366,   367,   368,   373,   374,   376,   378,   380,   382,       370,   370,   374,   375,   376,   381,   382,   384,   386,   388,
464       387,   388,   392,   398,   407,   414,   416       390,   395,   396,   400,   406,   415,   422,   424
465  };  };
466  #endif  #endif
467    
# Line 472  static const char *const yytname[] = Line 474  static const char *const yytname[] =
474    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor {...}\"",    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor {...}\"",
475    "\"%printer {...}\"", "\"%union {...}\"", "\"%left\"", "\"%right\"",    "\"%printer {...}\"", "\"%union {...}\"", "\"%left\"", "\"%right\"",
476    "\"%nonassoc\"", "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%debug\"",    "\"%nonassoc\"", "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%debug\"",
477    "\"%define\"", "\"%defines\"", "\"%error-verbose\"", "\"%expect\"",    "\"%default-prec\"", "\"%define\"", "\"%defines\"", "\"%error-verbose\"",
478    "\"%file-prefix\"", "\"%glr-parser\"", "\"%initial-action {...}\"",    "\"%expect\"", "\"%file-prefix\"", "\"%glr-parser\"",
479    "\"%lex-param {...}\"", "\"%locations\"", "\"%name-prefix\"",    "\"%initial-action {...}\"", "\"%lex-param {...}\"", "\"%locations\"",
480    "\"%no-lines\"", "\"%nondeterministic-parser\"", "\"%output\"",    "\"%name-prefix\"", "\"%no-lines\"", "\"%nondeterministic-parser\"",
481    "\"%parse-param {...}\"", "\"%pure-parser\"", "\"%skeleton\"",    "\"%output\"", "\"%parse-param {...}\"", "\"%pure-parser\"",
482    "\"%start\"", "\"%token-table\"", "\"%verbose\"", "\"%yacc\"",    "\"%skeleton\"", "\"%start\"", "\"%token-table\"", "\"%verbose\"",
483    "\"type\"", "\"=\"", "\";\"", "\"|\"", "\"identifier\"",    "\"%yacc\"", "\"type\"", "\"=\"", "\";\"", "\"|\"", "\"identifier\"",
484    "\"identifier:\"", "\"%%\"", "\"%{...%}\"", "\"epilogue\"", "\"{...}\"",    "\"identifier:\"", "\"%%\"", "\"%{...%}\"", "\"epilogue\"", "\"{...}\"",
485    "$accept", "input", "declarations", "declaration", "grammar_declaration",    "$accept", "input", "declarations", "declaration", "grammar_declaration",
486    "symbol_declaration", "@1", "@2", "precedence_declaration",    "symbol_declaration", "@1", "@2", "precedence_declaration",
# Line 498  static const unsigned short yytoknum[] = Line 500  static const unsigned short yytoknum[] =
500       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
501       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
502       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
503       295,   296,   297,   298,   299,   300,   301,   302       295,   296,   297,   298,   299,   300,   301,   302,   303
504  };  };
505  # endif  # endif
506    
507  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
508  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
509  {  {
510         0,    48,    49,    50,    50,    51,    51,    51,    51,    51,         0,    49,    50,    51,    51,    52,    52,    52,    52,    52,
511        51,    51,    51,    51,    51,    51,    51,    51,    51,    51,        52,    52,    52,    52,    52,    52,    52,    52,    52,    52,
512        51,    51,    51,    51,    51,    51,    51,    51,    52,    52,        52,    52,    52,    52,    52,    52,    52,    52,    53,    53,
513        52,    52,    52,    52,    54,    53,    55,    53,    53,    56,        53,    53,    53,    53,    53,    55,    54,    56,    54,    54,
514        57,    57,    57,    58,    58,    59,    59,    60,    60,    60,        57,    58,    58,    58,    59,    59,    60,    60,    61,    61,
515        60,    60,    61,    61,    62,    62,    63,    63,    63,    65,        61,    61,    61,    62,    62,    63,    63,    64,    64,    64,
516        64,    66,    66,    66,    67,    67,    67,    67,    67,    67,        66,    65,    67,    67,    67,    68,    68,    68,    68,    68,
517        68,    68,    69,    70,    71,    72,    72        68,    69,    69,    70,    71,    72,    73,    73
518  };  };
519    
520  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 521  static const unsigned char yyr2[] = Line 523  static const unsigned char yyr2[] =
523         0,     2,     4,     0,     2,     1,     1,     1,     3,     1,         0,     2,     4,     0,     2,     1,     1,     1,     3,     1,
524         1,     2,     3,     1,     1,     1,     1,     3,     1,     1,         1,     2,     3,     1,     1,     1,     1,     3,     1,     1,
525         3,     1,     1,     2,     1,     1,     1,     1,     1,     1,         3,     1,     1,     2,     1,     1,     1,     1,     1,     1,
526         2,     1,     2,     2,     0,     3,     0,     3,     3,     3,         2,     1,     2,     2,     2,     0,     3,     0,     3,     3,
527         1,     1,     1,     0,     1,     1,     2,     1,     1,     2,         3,     1,     1,     1,     0,     1,     1,     2,     1,     1,
528         2,     3,     1,     2,     1,     2,     1,     2,     2,     0,         2,     2,     3,     1,     2,     1,     2,     1,     2,     2,
529         3,     1,     3,     2,     0,     2,     2,     3,     3,     3,         0,     3,     1,     3,     2,     0,     2,     2,     3,     3,
530         1,     1,     1,     1,     1,     0,     2         3,     1,     1,     1,     1,     1,     0,     2
531  };  };
532    
533  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 533  static const unsigned char yyr2[] = Line 535  static const unsigned char yyr2[] =
535     means the default is an error.  */     means the default is an error.  */
536  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
537  {  {
538         3,     0,     0,     1,    36,    34,     0,     0,     0,    31,         3,     0,     0,     1,    37,    35,     0,     0,     0,    31,
539        40,    41,    42,     7,     0,     9,    10,     0,     0,    13,        41,    42,    43,     7,     0,     0,     9,    10,     0,     0,
540        14,    15,    16,     0,    18,    19,     0,    21,    22,     0,        13,    14,    15,    16,     0,    18,    19,     0,    21,    22,
541         0,    24,    25,    26,    27,     0,     6,     4,     5,    29,         0,     0,    24,    25,    26,    27,     0,     6,     4,     5,
542        28,    43,     0,     0,     0,    73,    70,    32,    45,    71,        29,    28,    44,     0,     0,     0,    74,    71,    32,    46,
543        33,    74,     0,    11,     0,     0,     0,    23,    30,     0,        72,    33,    34,    75,     0,    11,     0,     0,     0,    23,
544        59,     0,     0,    54,    56,    44,     0,    47,    48,    52,        30,     0,    60,     0,     0,    55,    57,    45,     0,    48,
545        37,    35,    38,    46,     8,    12,    17,    20,    58,    64,        49,    53,    38,    36,    39,    47,     8,    12,    17,    20,
546        57,     0,    55,     2,    39,    49,    50,    53,    60,    61,        59,    65,    58,     0,    56,     2,    40,    50,    51,    54,
547        76,    51,    63,    64,     0,     0,     0,    72,    65,    66,        61,    62,    77,    52,    64,    65,     0,     0,     0,    73,
548        62,    67,    68,    69        66,    67,    63,    68,    69,    70
549  };  };
550    
551  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
552  static const yysigned_char yydefgoto[] =  static const yysigned_char yydefgoto[] =
553  {  {
554        -1,     1,     2,    37,    61,    39,    43,    42,    40,    41,        -1,     1,     2,    38,    63,    40,    44,    43,    41,    42,
555        66,    47,    69,    70,    62,    63,    64,    79,    88,    89,        68,    48,    71,    72,    64,    65,    66,    81,    90,    91,
556        48,    99,    49,    52,    83        49,   101,    50,    54,    85
557  };  };
558    
559  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
560     STATE-NUM.  */     STATE-NUM.  */
561  #define YYPACT_NINF -64  #define YYPACT_NINF -63
562  static const yysigned_char yypact[] =  static const yysigned_char yypact[] =
563  {  {
564       -64,    21,   105,   -64,   -64,   -64,   -14,    -2,    -2,   -64,       -63,    12,   107,   -63,   -63,   -63,   -18,     1,     1,   -63,
565       -64,   -64,   -64,   -64,    25,   -64,   -64,    30,    -3,   -64,       -63,   -63,   -63,   -63,    28,    31,   -63,   -63,    33,    -5,
566       -64,   -64,   -64,     0,   -64,   -64,     2,   -64,   -64,    25,       -63,   -63,   -63,   -63,     0,   -63,   -63,     5,   -63,   -63,
567        -2,   -64,   -64,   -64,   -64,    66,   -64,   -64,   -64,   -64,        31,     1,   -63,   -63,   -63,   -63,    67,   -63,   -63,   -63,
568       -64,     5,   -19,   -19,    -2,   -64,   -64,    -2,   -64,   -64,       -63,   -63,    13,   -36,   -36,     1,   -63,   -63,     1,   -63,
569        -2,   -64,    25,   -64,    25,    25,    25,   -64,   -64,    -5,       -63,     1,   -63,   -63,    31,   -63,    31,    31,    31,   -63,
570       -64,     4,     3,   -64,   -64,   -64,    -2,   -64,    23,   -64,       -63,    -2,   -63,    10,    18,   -63,   -63,   -63,     1,   -63,
571       -19,   -19,    -2,   -64,   -64,   -64,   -64,   -64,   -64,   -64,         2,   -63,   -36,   -36,     1,   -63,   -63,   -63,   -63,   -63,
572       -64,    -1,   -64,   -64,    -2,    46,   -64,   -64,   -34,    15,       -63,   -63,   -63,    -6,   -63,   -63,     1,    51,   -63,   -63,
573       -64,   -64,   -64,   -64,    -2,    49,    17,   -64,   -64,   -64,       -33,    -1,   -63,   -63,   -63,   -63,     1,    52,    19,   -63,
574        15,   -64,   -64,   -64       -63,   -63,    -1,   -63,   -63,   -63
575  };  };
576    
577  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
578  static const yysigned_char yypgoto[] =  static const yysigned_char yypgoto[] =
579  {  {
580       -64,   -64,   -64,   -64,    54,   -64,   -64,   -64,   -64,   -64,       -63,   -63,   -63,   -63,    55,   -63,   -63,   -63,   -63,   -63,
581       -64,    -6,   -38,    18,   -64,     1,   -64,   -64,   -64,   -35,       -63,    -7,   -62,    15,   -63,     3,   -63,   -63,   -63,   -29,
582       -30,   -64,   -63,    -4,   -64       -31,   -63,   -54,    -8,   -63
583  };  };
584    
585  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
586     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
587     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
588     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
589  #define YYTABLE_NINF -76  #define YYTABLE_NINF -77
590  static const yysigned_char yytable[] =  static const yysigned_char yytable[] =
591  {  {
592        58,    45,    50,   -75,    59,    86,    92,    93,     4,     5,        60,    51,    46,    69,    46,    46,    87,    70,    94,    95,
593         6,     7,     8,     9,    10,    11,    12,    73,    45,    67,        89,    89,     3,    96,    97,    98,    88,    75,   -76,    61,
594        73,     3,    91,    68,    44,    57,    45,    85,    51,    94,        75,    45,    59,     4,     5,     6,     7,     8,     9,    10,
595        95,    96,    87,    87,    53,    78,    54,    30,    72,    55,        11,    12,    52,    93,    53,    56,    14,    55,    74,    80,
596        46,    56,    73,    65,    80,    90,    60,    81,    74,    45,        57,    92,    47,    75,    47,    58,    76,    99,    77,    78,
597        75,    76,    77,   102,    73,   103,    38,    46,   100,    98,        79,    82,    67,    31,    46,    75,   104,    39,   105,    73,
598        84,    71,    97,    82,   101,     0,     0,    59,     0,     0,       100,    86,    62,    83,     0,   103,   102,    84,    61,     0,
599        98,     4,     5,     6,     7,     8,     9,    10,    11,    12,         0,   100,     4,     5,     6,     7,     8,     9,    10,    11,
600          12,     0,     0,     0,     0,    14,     0,     0,     0,     0,
601         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
602         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
603        30,     0,     0,     0,     0,     0,     0,     0,     0,    60,         0,    62,     4,     5,     6,     7,     8,     9,    10,    11,
604         4,     5,     6,     7,     8,     9,    10,    11,    12,     0,        12,     0,     0,     0,    13,    14,    15,    16,    17,    18,
605         0,     0,    13,    14,    15,    16,    17,    18,    19,    20,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
606        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        29,    30,    31,    32,    33,    34,     0,     0,    35,     0,
607        31,    32,    33,     0,     0,    34,     0,     0,     0,    35,         0,     0,    36,    37
       36  
608  };  };
609    
610  static const yysigned_char yycheck[] =  static const yysigned_char yycheck[] =
611  {  {
612        30,     3,     8,     0,     1,    68,    40,    41,     5,     6,        31,     8,     3,    39,     3,     3,     4,    43,    41,    42,
613         7,     8,     9,    10,    11,    12,    13,    47,     3,    38,        72,    73,     0,    14,    15,    16,    70,    48,     0,     1,
614        50,     0,    85,    42,    38,    29,     3,     4,     3,    14,        51,    39,    30,     5,     6,     7,     8,     9,    10,    11,
615        15,    16,    70,    71,     4,    40,    39,    34,    44,    39,        12,    13,     4,    87,     3,    40,    18,     4,    45,    41,
616        42,    39,    72,    38,    40,    46,    43,    44,    52,     3,        40,    47,    43,    74,    43,    40,    54,    48,    56,    57,
617        54,    55,    56,     4,    84,    38,     2,    42,    93,    89,        58,    41,    39,    35,     3,    86,     4,     2,    39,    44,
618        66,    43,    47,    62,    94,    -1,    -1,     1,    -1,    -1,        91,    68,    44,    45,    -1,    96,    95,    64,     1,    -1,
619       100,     5,     6,     7,     8,     9,    10,    11,    12,    13,        -1,   102,     5,     6,     7,     8,     9,    10,    11,    12,
620        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
621        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
622        34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,        -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
623         5,     6,     7,     8,     9,    10,    11,    12,    13,    -1,        -1,    44,     5,     6,     7,     8,     9,    10,    11,    12,
624        -1,    -1,    17,    18,    19,    20,    21,    22,    23,    24,        13,    -1,    -1,    -1,    17,    18,    19,    20,    21,    22,
625        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
626        35,    36,    37,    -1,    -1,    40,    -1,    -1,    -1,    44,        33,    34,    35,    36,    37,    38,    -1,    -1,    41,    -1,
627        45        -1,    -1,    45,    46
628  };  };
629    
630  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
631     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
632  static const unsigned char yystos[] =  static const unsigned char yystos[] =
633  {  {
634         0,    49,    50,     0,     5,     6,     7,     8,     9,    10,         0,    50,    51,     0,     5,     6,     7,     8,     9,    10,
635        11,    12,    13,    17,    18,    19,    20,    21,    22,    23,        11,    12,    13,    17,    18,    19,    20,    21,    22,    23,
636        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
637        34,    35,    36,    37,    40,    44,    45,    51,    52,    53,        34,    35,    36,    37,    38,    41,    45,    46,    52,    53,
638        56,    57,    55,    54,    38,     3,    42,    59,    68,    70,        54,    57,    58,    56,    55,    39,     3,    43,    60,    69,
639        59,     3,    71,     4,    39,    39,    39,    71,    68,     1,        71,    60,     4,     3,    72,     4,    40,    40,    40,    72,
640        43,    52,    62,    63,    64,    38,    58,    38,    42,    60,        69,     1,    44,    53,    63,    64,    65,    39,    59,    39,
641        61,    61,    59,    68,    71,    71,    71,    71,    40,    65,        43,    61,    62,    62,    60,    69,    72,    72,    72,    72,
642        40,    44,    63,    72,    59,     4,    70,    60,    66,    67,        41,    66,    41,    45,    64,    73,    60,     4,    71,    61,
643        46,    70,    40,    41,    14,    15,    16,    47,    68,    69,        67,    68,    47,    71,    41,    42,    14,    15,    16,    48,
644        67,    68,     4,    38        69,    70,    68,    69,     4,    39
645  };  };
646    
647  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1085  YYLTYPE yylloc; Line 1087  YYLTYPE yylloc;
1087    (*yylsp).start.column = (*yylsp).end.column = 0;    (*yylsp).start.column = (*yylsp).end.column = 0;
1088  }  }
1089  /* Line 818 of yacc.c.  */  /* Line 818 of yacc.c.  */
1090  #line 1089 "parse-gram.c"  #line 1091 "parse-gram.c"
1091    goto yysetstate;    goto yysetstate;
1092    
1093  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 1273  yyreduce: Line 1275  yyreduce:
1275    switch (yyn)    switch (yyn)
1276      {      {
1277          case 6:          case 6:
1278  #line 185 "parse-gram.y"  #line 186 "parse-gram.y"
1279      { prologue_augment (yyvsp[0].chars, yylsp[0]); }      { prologue_augment (yyvsp[0].chars, yylsp[0]); }
1280      break;      break;
1281    
1282    case 7:    case 7:
1283  #line 186 "parse-gram.y"  #line 187 "parse-gram.y"
1284      { debug_flag = true; }      { debug_flag = true; }
1285      break;      break;
1286    
1287    case 8:    case 8:
1288  #line 187 "parse-gram.y"  #line 188 "parse-gram.y"
1289      { muscle_insert (yyvsp[-1].chars, yyvsp[0].chars); }      { muscle_insert (yyvsp[-1].chars, yyvsp[0].chars); }
1290      break;      break;
1291    
1292    case 9:    case 9:
1293  #line 188 "parse-gram.y"  #line 189 "parse-gram.y"
1294      { defines_flag = true; }      { defines_flag = true; }
1295      break;      break;
1296    
1297    case 10:    case 10:
1298  #line 189 "parse-gram.y"  #line 190 "parse-gram.y"
1299      { error_verbose = true; }      { error_verbose = true; }
1300      break;      break;
1301    
1302    case 11:    case 11:
1303  #line 190 "parse-gram.y"  #line 191 "parse-gram.y"
1304      { expected_conflicts = yyvsp[0].integer; }      { expected_conflicts = yyvsp[0].integer; }
1305      break;      break;
1306    
1307    case 12:    case 12:
1308  #line 191 "parse-gram.y"  #line 192 "parse-gram.y"
1309      { spec_file_prefix = yyvsp[0].chars; }      { spec_file_prefix = yyvsp[0].chars; }
1310      break;      break;
1311    
1312    case 13:    case 13:
1313  #line 193 "parse-gram.y"  #line 194 "parse-gram.y"
1314      {      {
1315      nondeterministic_parser = true;      nondeterministic_parser = true;
1316      glr_parser = true;      glr_parser = true;
# Line 1316  yyreduce: Line 1318  yyreduce:
1318      break;      break;
1319    
1320    case 14:    case 14:
1321  #line 198 "parse-gram.y"  #line 199 "parse-gram.y"
1322      {      {
1323      muscle_code_grow ("initial_action", yyvsp[0].chars, yylsp[0]);      muscle_code_grow ("initial_action", yyvsp[0].chars, yylsp[0]);
1324    }    }
1325      break;      break;
1326    
1327    case 15:    case 15:
1328  #line 201 "parse-gram.y"  #line 202 "parse-gram.y"
1329      { add_param ("lex_param", yyvsp[0].chars, yylsp[0]); }      { add_param ("lex_param", yyvsp[0].chars, yylsp[0]); }
1330      break;      break;
1331    
1332    case 16:    case 16:
1333  #line 202 "parse-gram.y"  #line 203 "parse-gram.y"
1334      { locations_flag = true; }      { locations_flag = true; }
1335      break;      break;
1336    
1337    case 17:    case 17:
1338  #line 203 "parse-gram.y"  #line 204 "parse-gram.y"
1339      { spec_name_prefix = yyvsp[0].chars; }      { spec_name_prefix = yyvsp[0].chars; }
1340      break;      break;
1341    
1342    case 18:    case 18:
1343  #line 204 "parse-gram.y"  #line 205 "parse-gram.y"
1344      { no_lines_flag = true; }      { no_lines_flag = true; }
1345      break;      break;
1346    
1347    case 19:    case 19:
1348  #line 205 "parse-gram.y"  #line 206 "parse-gram.y"
1349      { nondeterministic_parser = true; }      { nondeterministic_parser = true; }
1350      break;      break;
1351    
1352    case 20:    case 20:
1353  #line 206 "parse-gram.y"  #line 207 "parse-gram.y"
1354      { spec_outfile = yyvsp[0].chars; }      { spec_outfile = yyvsp[0].chars; }
1355      break;      break;
1356    
1357    case 21:    case 21:
1358  #line 207 "parse-gram.y"  #line 208 "parse-gram.y"
1359      { add_param ("parse_param", yyvsp[0].chars, yylsp[0]); }      { add_param ("parse_param", yyvsp[0].chars, yylsp[0]); }
1360      break;      break;
1361    
1362    case 22:    case 22:
1363  #line 208 "parse-gram.y"  #line 209 "parse-gram.y"
1364      { pure_parser = true; }      { pure_parser = true; }
1365      break;      break;
1366    
1367    case 23:    case 23:
1368  #line 209 "parse-gram.y"  #line 210 "parse-gram.y"
1369      { skeleton = yyvsp[0].chars; }      { skeleton = yyvsp[0].chars; }
1370      break;      break;
1371    
1372    case 24:    case 24:
1373  #line 210 "parse-gram.y"  #line 211 "parse-gram.y"
1374      { token_table_flag = true; }      { token_table_flag = true; }
1375      break;      break;
1376    
1377    case 25:    case 25:
1378  #line 211 "parse-gram.y"  #line 212 "parse-gram.y"
1379      { report_flag = report_states; }      { report_flag = report_states; }
1380      break;      break;
1381    
1382    case 26:    case 26:
1383  #line 212 "parse-gram.y"  #line 213 "parse-gram.y"
1384      { yacc_flag = true; }      { yacc_flag = true; }
1385      break;      break;
1386    
1387    case 30:    case 30:
1388  #line 220 "parse-gram.y"  #line 221 "parse-gram.y"
1389      {      {
1390        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
1391      }      }
1392      break;      break;
1393    
1394    case 31:    case 31:
1395  #line 224 "parse-gram.y"  #line 225 "parse-gram.y"
1396      {      {
1397        typed = true;        typed = true;
1398        MUSCLE_INSERT_INT ("stype_line", yylsp[0].start.line);        MUSCLE_INSERT_INT ("stype_line", yylsp[0].start.line);
# Line 1399  yyreduce: Line 1401  yyreduce:
1401      break;      break;
1402    
1403    case 32:    case 32:
1404  #line 230 "parse-gram.y"  #line 231 "parse-gram.y"
1405      {      {
1406        symbol_list *list;        symbol_list *list;
1407        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1409  yyreduce: Line 1411  yyreduce:
1411      break;      break;
1412    
1413    case 33:    case 33:
1414  #line 237 "parse-gram.y"  #line 238 "parse-gram.y"
1415      {      {
1416        symbol_list *list;        symbol_list *list;
1417        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1419  yyreduce: Line 1421  yyreduce:
1421      break;      break;
1422    
1423    case 34:    case 34:
1424  #line 246 "parse-gram.y"  #line 245 "parse-gram.y"
1425      { current_class = nterm_sym; }      {
1426          if (0 <= yyvsp[0].integer && yyvsp[0].integer <= 1)
1427            default_prec = yyvsp[0].integer;
1428          else
1429            complain_at (yylsp[-1], _("invalid value for `%default-prec'"));
1430        }
1431      break;      break;
1432    
1433    case 35:    case 35:
1434  #line 247 "parse-gram.y"  #line 254 "parse-gram.y"
1435        { current_class = nterm_sym; }
1436        break;
1437    
1438      case 36:
1439    #line 255 "parse-gram.y"
1440      {      {
1441        current_class = unknown_sym;        current_class = unknown_sym;
1442        current_type = NULL;        current_type = NULL;
1443      }      }
1444      break;      break;
1445    
1446    case 36:    case 37:
1447  #line 251 "parse-gram.y"  #line 259 "parse-gram.y"
1448      { current_class = token_sym; }      { current_class = token_sym; }
1449      break;      break;
1450    
1451    case 37:    case 38:
1452  #line 252 "parse-gram.y"  #line 260 "parse-gram.y"
1453      {      {
1454        current_class = unknown_sym;        current_class = unknown_sym;
1455        current_type = NULL;        current_type = NULL;
1456      }      }
1457      break;      break;
1458    
1459    case 38:    case 39:
1460  #line 257 "parse-gram.y"  #line 265 "parse-gram.y"
1461      {      {
1462        symbol_list *list;        symbol_list *list;
1463        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1454  yyreduce: Line 1466  yyreduce:
1466      }      }
1467      break;      break;
1468    
1469    case 39:    case 40:
1470  #line 267 "parse-gram.y"  #line 275 "parse-gram.y"
1471      {      {
1472        symbol_list *list;        symbol_list *list;
1473        ++current_prec;        ++current_prec;
# Line 1469  yyreduce: Line 1481  yyreduce:
1481      }      }
1482      break;      break;
1483    
1484    case 40:    case 41:
1485  #line 281 "parse-gram.y"  #line 289 "parse-gram.y"
1486      { yyval.assoc = left_assoc; }      { yyval.assoc = left_assoc; }
1487      break;      break;
1488    
1489    case 41:    case 42:
1490  #line 282 "parse-gram.y"  #line 290 "parse-gram.y"
1491      { yyval.assoc = right_assoc; }      { yyval.assoc = right_assoc; }
1492      break;      break;
1493    
1494    case 42:    case 43:
1495  #line 283 "parse-gram.y"  #line 291 "parse-gram.y"
1496      { yyval.assoc = non_assoc; }      { yyval.assoc = non_assoc; }
1497      break;      break;
1498    
1499    case 43:    case 44:
1500  #line 287 "parse-gram.y"  #line 295 "parse-gram.y"
1501      { current_type = NULL; }      { current_type = NULL; }
1502      break;      break;
1503    
1504    case 44:    case 45:
1505  #line 288 "parse-gram.y"  #line 296 "parse-gram.y"
1506      { current_type = yyvsp[0].uniqstr; }      { current_type = yyvsp[0].uniqstr; }
1507      break;      break;
1508    
1509    case 45:    case 46:
1510  #line 294 "parse-gram.y"  #line 302 "parse-gram.y"
1511      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }
1512      break;      break;
1513    
1514    case 46:    case 47:
1515  #line 295 "parse-gram.y"  #line 303 "parse-gram.y"
1516      { yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); }
1517      break;      break;
1518    
1519    case 47:    case 48:
1520  #line 301 "parse-gram.y"  #line 309 "parse-gram.y"
1521      {      {
1522         current_type = yyvsp[0].uniqstr;         current_type = yyvsp[0].uniqstr;
1523       }       }
1524      break;      break;
1525    
1526    case 48:    case 49:
1527  #line 305 "parse-gram.y"  #line 313 "parse-gram.y"
1528      {      {
1529         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);
1530         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);
1531       }       }
1532      break;      break;
1533    
1534    case 49:    case 50:
1535  #line 310 "parse-gram.y"  #line 318 "parse-gram.y"
1536      {      {
1537        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1538        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1528  yyreduce: Line 1540  yyreduce:
1540      }      }
1541      break;      break;
1542    
1543    case 50:    case 51:
1544  #line 316 "parse-gram.y"  #line 324 "parse-gram.y"
1545      {      {
1546        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1547        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1537  yyreduce: Line 1549  yyreduce:
1549      }      }
1550      break;      break;
1551    
1552    case 51:    case 52:
1553  #line 322 "parse-gram.y"  #line 330 "parse-gram.y"
1554      {      {
1555        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);
1556        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);
# Line 1547  yyreduce: Line 1559  yyreduce:
1559      }      }
1560      break;      break;
1561    
1562    case 57:    case 58:
1563  #line 351 "parse-gram.y"  #line 359 "parse-gram.y"
1564      {      {
1565        if (yacc_flag)        if (yacc_flag)
1566          complain_at (yyloc, _("POSIX forbids declarations in the grammar"));          complain_at (yyloc, _("POSIX forbids declarations in the grammar"));
1567      }      }
1568      break;      break;
1569    
1570    case 58:    case 59:
1571  #line 356 "parse-gram.y"  #line 364 "parse-gram.y"
1572      {      {
1573        yyerrok;        yyerrok;
1574      }      }
1575      break;      break;
1576    
1577    case 59:    case 60:
1578  #line 362 "parse-gram.y"  #line 370 "parse-gram.y"
1579      { current_lhs = yyvsp[0].symbol; current_lhs_location = yylsp[0]; }      { current_lhs = yyvsp[0].symbol; current_lhs_location = yylsp[0]; }
1580      break;      break;
1581    
1582    case 61:    case 62:
1583  #line 366 "parse-gram.y"  #line 374 "parse-gram.y"
1584      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1585      break;      break;
1586    
1587    case 62:    case 63:
1588  #line 367 "parse-gram.y"  #line 375 "parse-gram.y"
1589      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1590      break;      break;
1591    
1592    case 64:    case 65:
1593  #line 373 "parse-gram.y"  #line 381 "parse-gram.y"
1594      { grammar_rule_begin (current_lhs, current_lhs_location); }      { grammar_rule_begin (current_lhs, current_lhs_location); }
1595      break;      break;
1596    
1597    case 65:    case 66:
1598  #line 375 "parse-gram.y"  #line 383 "parse-gram.y"
1599      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
1600      break;      break;
1601    
1602    case 66:    case 67:
1603  #line 377 "parse-gram.y"  #line 385 "parse-gram.y"
1604      { grammar_current_rule_action_append (yyvsp[0].chars, yylsp[0]); }      { grammar_current_rule_action_append (yyvsp[0].chars, yylsp[0]); }
1605      break;      break;
1606    
1607    case 67:    case 68:
1608  #line 379 "parse-gram.y"  #line 387 "parse-gram.y"
1609      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }
1610      break;      break;
1611    
1612    case 68:    case 69:
1613  #line 381 "parse-gram.y"  #line 389 "parse-gram.y"
1614      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }
1615      break;      break;
1616    
1617    case 69:    case 70:
1618  #line 383 "parse-gram.y"  #line 391 "parse-gram.y"
1619      { grammar_current_rule_merge_set (yyvsp[0].uniqstr, yylsp[0]); }      { grammar_current_rule_merge_set (yyvsp[0].uniqstr, yylsp[0]); }
1620      break;      break;
1621    
1622    case 70:    case 71:
1623  #line 387 "parse-gram.y"  #line 395 "parse-gram.y"
1624      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1625      break;      break;
1626    
1627    case 71:    case 72:
1628  #line 388 "parse-gram.y"  #line 396 "parse-gram.y"
1629      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1630      break;      break;
1631    
1632    case 72:    case 73:
1633  #line 393 "parse-gram.y"  #line 401 "parse-gram.y"
1634      { yyval.chars = yyvsp[0].chars; }      { yyval.chars = yyvsp[0].chars; }
1635      break;      break;
1636    
1637    case 73:    case 74:
1638  #line 399 "parse-gram.y"  #line 407 "parse-gram.y"
1639      {      {
1640        yyval.symbol = symbol_get (yyvsp[0].chars, yylsp[0]);        yyval.symbol = symbol_get (yyvsp[0].chars, yylsp[0]);
1641        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);
1642      }      }
1643      break;      break;
1644    
1645    case 74:    case 75:
1646  #line 408 "parse-gram.y"  #line 416 "parse-gram.y"
1647      {      {
1648        yyval.chars = yyvsp[0].chars + 1;        yyval.chars = yyvsp[0].chars + 1;
1649        yyval.chars[strlen (yyval.chars) - 1] = '\0';        yyval.chars[strlen (yyval.chars) - 1] = '\0';
1650      }      }
1651      break;      break;
1652    
1653    case 76:    case 77:
1654  #line 417 "parse-gram.y"  #line 425 "parse-gram.y"
1655      {      {
1656        muscle_code_grow ("epilogue", yyvsp[0].chars, yylsp[0]);        muscle_code_grow ("epilogue", yyvsp[0].chars, yylsp[0]);
1657        scanner_last_string_free ();        scanner_last_string_free ();
# Line 1650  yyreduce: Line 1662  yyreduce:
1662      }      }
1663    
1664  /* Line 1010 of yacc.c.  */  /* Line 1010 of yacc.c.  */
1665  #line 1654 "parse-gram.c"  #line 1666 "parse-gram.c"
1666    
1667    yyvsp -= yylen;    yyvsp -= yylen;
1668    yyssp -= yylen;    yyssp -= yylen;
# Line 1879  yyreturn: Line 1891  yyreturn:
1891  }  }
1892    
1893    
1894  #line 423 "parse-gram.y"  #line 431 "parse-gram.y"
1895    
1896    
1897    

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.49

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