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

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

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