/[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.16 by akim, Thu Jun 20 11:20:25 2002 UTC revision 1.17 by hilfinger, Fri Jun 28 02:26:43 2002 UTC
# Line 135  braced_code_t current_braced_code = acti Line 135  braced_code_t current_braced_code = acti
135       PERCENT_EXPECT = 270,       PERCENT_EXPECT = 270,
136       PERCENT_START = 271,       PERCENT_START = 271,
137       PERCENT_PREC = 272,       PERCENT_PREC = 272,
138       PERCENT_VERBOSE = 273,       PERCENT_DPREC = 273,
139       PERCENT_ERROR_VERBOSE = 274,       PERCENT_MERGE = 274,
140       PERCENT_OUTPUT = 275,       PERCENT_VERBOSE = 275,
141       PERCENT_FILE_PREFIX = 276,       PERCENT_ERROR_VERBOSE = 276,
142       PERCENT_NAME_PREFIX = 277,       PERCENT_OUTPUT = 277,
143       PERCENT_DEFINE = 278,       PERCENT_FILE_PREFIX = 278,
144       PERCENT_PURE_PARSER = 279,       PERCENT_NAME_PREFIX = 279,
145       PERCENT_DEFINES = 280,       PERCENT_DEFINE = 280,
146       PERCENT_YACC = 281,       PERCENT_PURE_PARSER = 281,
147       PERCENT_DEBUG = 282,       PERCENT_GLR_PARSER = 282,
148       PERCENT_LOCATIONS = 283,       PERCENT_DEFINES = 283,
149       PERCENT_NO_LINES = 284,       PERCENT_YACC = 284,
150       PERCENT_SKELETON = 285,       PERCENT_DEBUG = 285,
151       PERCENT_TOKEN_TABLE = 286,       PERCENT_LOCATIONS = 286,
152       TYPE = 287,       PERCENT_NO_LINES = 287,
153       EQUAL = 288,       PERCENT_SKELETON = 288,
154       SEMICOLON = 289,       PERCENT_TOKEN_TABLE = 289,
155       COLON = 290,       TYPE = 290,
156       PIPE = 291,       EQUAL = 291,
157       ID = 292,       SEMICOLON = 292,
158       PERCENT_PERCENT = 293,       COLON = 293,
159       PROLOGUE = 294,       PIPE = 294,
160       EPILOGUE = 295,       ID = 295,
161       BRACED_CODE = 296       PERCENT_PERCENT = 296,
162         PROLOGUE = 297,
163         EPILOGUE = 298,
164         BRACED_CODE = 299
165     };     };
166  # endif  # endif
167    /* POSIX requires `int' for tokens in interfaces.  */    /* POSIX requires `int' for tokens in interfaces.  */
# Line 180  braced_code_t current_braced_code = acti Line 183  braced_code_t current_braced_code = acti
183  #define PERCENT_EXPECT 270  #define PERCENT_EXPECT 270
184  #define PERCENT_START 271  #define PERCENT_START 271
185  #define PERCENT_PREC 272  #define PERCENT_PREC 272
186  #define PERCENT_VERBOSE 273  #define PERCENT_DPREC 273
187  #define PERCENT_ERROR_VERBOSE 274  #define PERCENT_MERGE 274
188  #define PERCENT_OUTPUT 275  #define PERCENT_VERBOSE 275
189  #define PERCENT_FILE_PREFIX 276  #define PERCENT_ERROR_VERBOSE 276
190  #define PERCENT_NAME_PREFIX 277  #define PERCENT_OUTPUT 277
191  #define PERCENT_DEFINE 278  #define PERCENT_FILE_PREFIX 278
192  #define PERCENT_PURE_PARSER 279  #define PERCENT_NAME_PREFIX 279
193  #define PERCENT_DEFINES 280  #define PERCENT_DEFINE 280
194  #define PERCENT_YACC 281  #define PERCENT_PURE_PARSER 281
195  #define PERCENT_DEBUG 282  #define PERCENT_GLR_PARSER 282
196  #define PERCENT_LOCATIONS 283  #define PERCENT_DEFINES 283
197  #define PERCENT_NO_LINES 284  #define PERCENT_YACC 284
198  #define PERCENT_SKELETON 285  #define PERCENT_DEBUG 285
199  #define PERCENT_TOKEN_TABLE 286  #define PERCENT_LOCATIONS 286
200  #define TYPE 287  #define PERCENT_NO_LINES 287
201  #define EQUAL 288  #define PERCENT_SKELETON 288
202  #define SEMICOLON 289  #define PERCENT_TOKEN_TABLE 289
203  #define COLON 290  #define TYPE 290
204  #define PIPE 291  #define EQUAL 291
205  #define ID 292  #define SEMICOLON 292
206  #define PERCENT_PERCENT 293  #define COLON 293
207  #define PROLOGUE 294  #define PIPE 294
208  #define EPILOGUE 295  #define ID 295
209  #define BRACED_CODE 296  #define PERCENT_PERCENT 296
210    #define PROLOGUE 297
211    #define EPILOGUE 298
212    #define BRACED_CODE 299
213    
214    
215    
# Line 230  typedef union { Line 236  typedef union {
236    char *string;    char *string;
237    associativity assoc;    associativity assoc;
238  } yystype;  } yystype;
239  /* Line 232 of /usr/local/share/bison/bison.simple.  */  /* Line 272 of /home/cs/hilfingr/work/grammars/glr2/install/share/bison/yacc.c.  */
240  #line 235 "parse-gram.c"  #line 241 "parse-gram.c"
241  # define YYSTYPE yystype  # define YYSTYPE yystype
242  # define YYSTYPE_IS_TRIVIAL 1  # define YYSTYPE_IS_TRIVIAL 1
243  #endif  #endif
# Line 251  typedef struct yyltype Line 257  typedef struct yyltype
257  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
258    
259    
260  /* Line 252 of /usr/local/share/bison/bison.simple.  */  /* Line 292 of /home/cs/hilfingr/work/grammars/glr2/install/share/bison/yacc.c.  */
261  #line 256 "parse-gram.c"  #line 262 "parse-gram.c"
262    
263  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
264    
# Line 346  union yyalloc Line 352  union yyalloc
352  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
353  #define YYFINAL  3  #define YYFINAL  3
354  #define YYFLAG   -32768  #define YYFLAG   -32768
355  #define YYLAST   151  #define YYLAST   125
356    
357  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
358  #define YYNTOKENS  42  #define YYNTOKENS  45
359  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
360  #define YYNNTS  28  #define YYNNTS  28
361  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
362  #define YYNRULES  71  #define YYNRULES  74
363  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
364  #define YYNSTATES  101  #define YYNSTATES  106
365    
366  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
367  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
368  #define YYMAXUTOK   296  #define YYMAXUTOK   299
369    
370  #define YYTRANSLATE(X) \  #define YYTRANSLATE(X) \
371    ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)    ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
# Line 396  static const unsigned char yytranslate[] Line 402  static const unsigned char yytranslate[]
402         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
403        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
404        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
405        35,    36,    37,    38,    39,    40,    41        35,    36,    37,    38,    39,    40,    41,    42,    43,    44
406  };  };
407    
408  #if YYDEBUG  #if YYDEBUG
# Line 405  static const unsigned char yytranslate[] Line 411  static const unsigned char yytranslate[]
411  static const unsigned char yyprhs[] =  static const unsigned char yyprhs[] =
412  {  {
413         0,     0,     3,     8,     9,    13,    15,    17,    19,    23,         0,     0,     3,     8,     9,    13,    15,    17,    19,    23,
414        25,    27,    30,    34,    36,    40,    42,    46,    48,    51,        25,    27,    30,    34,    36,    40,    42,    46,    48,    50,
415        53,    55,    57,    59,    61,    64,    67,    68,    73,    74,        53,    55,    57,    59,    61,    63,    66,    69,    70,    75,
416        79,    80,    84,    85,    89,    93,    97,    99,   101,   103,        76,    81,    82,    86,    87,    91,    95,    99,   101,   103,
417       104,   106,   108,   111,   113,   115,   118,   121,   125,   127,       105,   106,   108,   110,   113,   115,   117,   120,   123,   127,
418       130,   132,   135,   137,   140,   141,   147,   149,   153,   154,       129,   132,   134,   137,   139,   142,   143,   149,   151,   155,
419       157,   160,   164,   166,   168,   170,   172,   174,   176,   177,       156,   159,   162,   166,   170,   174,   176,   178,   180,   182,
420       180,   181       184,   186,   187,   190,   191
421  };  };
422    
423  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
424  static const signed char yyrhs[] =  static const signed char yyrhs[] =
425  {  {
426        43,     0,    -1,    44,    38,    58,    68,    -1,    -1,    44,        46,     0,    -1,    47,    41,    61,    71,    -1,    -1,    47,
427        45,    69,    -1,    46,    -1,    39,    -1,    27,    -1,    23,        48,    72,    -1,    49,    -1,    42,    -1,    30,    -1,    25,
428        67,    67,    -1,    25,    -1,    19,    -1,    15,     5,    -1,        70,    70,    -1,    28,    -1,    21,    -1,    15,     5,    -1,
429        21,    33,    67,    -1,    28,    -1,    22,    33,    67,    -1,        23,    36,    70,    -1,    31,    -1,    24,    36,    70,    -1,
430        29,    -1,    20,    33,    67,    -1,    24,    -1,    30,    67,        32,    -1,    22,    36,    70,    -1,    26,    -1,    27,    -1,
431        -1,    31,    -1,    18,    -1,    26,    -1,    52,    -1,    49,        33,    70,    -1,    34,    -1,    20,    -1,    29,    -1,    55,
432        -1,    16,    64,    -1,    11,    41,    -1,    -1,     9,    47,        -1,    52,    -1,    16,    67,    -1,    11,    44,    -1,    -1,
433        41,    55,    -1,    -1,    10,    48,    41,    55,    -1,    -1,         9,    50,    44,    58,    -1,    -1,    10,    51,    44,    58,
434         7,    50,    57,    -1,    -1,     6,    51,    57,    -1,     8,        -1,    -1,     7,    53,    60,    -1,    -1,     6,    54,    60,
435        32,    55,    -1,    53,    54,    55,    -1,    12,    -1,    13,        -1,     8,    35,    58,    -1,    56,    57,    58,    -1,    12,
436        -1,    14,    -1,    -1,    32,    -1,    64,    -1,    55,    64,        -1,    13,    -1,    14,    -1,    -1,    35,    -1,    67,    -1,
437        -1,    32,    -1,    37,    -1,    37,     5,    -1,    37,    66,        58,    67,    -1,    35,    -1,    40,    -1,    40,     5,    -1,
438        -1,    37,     5,    66,    -1,    56,    -1,    57,    56,    -1,        40,    69,    -1,    40,     5,    69,    -1,    59,    -1,    60,
439        59,    -1,    58,    59,    -1,    60,    -1,    46,    34,    -1,        59,    -1,    62,    -1,    61,    62,    -1,    63,    -1,    49,
440        -1,    37,    35,    61,    62,    34,    -1,    63,    -1,    62,        37,    -1,    -1,    40,    38,    64,    65,    37,    -1,    66,
441        36,    63,    -1,    -1,    63,    64,    -1,    63,    65,    -1,        -1,    65,    39,    66,    -1,    -1,    66,    67,    -1,    66,
442        63,    17,    64,    -1,    37,    -1,    66,    -1,     4,    -1,        68,    -1,    66,    17,    67,    -1,    66,    18,     5,    -1,
443        41,    -1,     3,    -1,     3,    -1,    -1,    38,    40,    -1,        66,    19,    35,    -1,    40,    -1,    69,    -1,     4,    -1,
444        -1,    34,    -1        44,    -1,     3,    -1,     3,    -1,    -1,    41,    43,    -1,
445          -1,    37,    -1
446  };  };
447    
448  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
449  static const unsigned short yyrline[] =  static const unsigned short yyrline[] =
450  {  {
451         0,   155,   155,   168,   170,   173,   175,   176,   177,   178,         0,   158,   158,   171,   173,   176,   178,   179,   180,   181,
452       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
453       189,   190,   193,   195,   196,   200,   207,   206,   217,   216,       192,   193,   194,   197,   199,   200,   204,   211,   210,   221,
454       229,   228,   234,   234,   239,   248,   263,   265,   266,   269,       220,   233,   232,   238,   238,   243,   252,   267,   269,   270,
455       271,   276,   278,   282,   287,   292,   298,   304,   314,   317,       273,   275,   280,   282,   286,   291,   296,   302,   308,   318,
456       326,   328,   334,   336,   340,   339,   344,   346,   349,   352,       321,   330,   332,   338,   340,   344,   343,   348,   350,   353,
457       354,   356,   360,   362,   363,   366,   372,   381,   389,   394,       356,   358,   360,   362,   364,   368,   370,   371,   374,   380,
458       400,   402       389,   397,   402,   408,   410
459  };  };
460  #endif  #endif
461    
# Line 460  static const char *const yytname[] = Line 467  static const char *const yytname[] =
467    "\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT",    "\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT",
468    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"",    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"",
469    "\"%printer\"", "\"%union\"", "\"%left\"", "\"%right\"",    "\"%printer\"", "\"%union\"", "\"%left\"", "\"%right\"",
470    "\"%nonassoc\"", "\"%expect\"", "\"%start\"", "\"%prec\"",    "\"%nonassoc\"", "\"%expect\"", "\"%start\"", "\"%prec\"", "\"%dprec\"",
471    "\"%verbose\"", "\"%error-verbose\"", "\"%output\"", "\"%file-prefix\"",    "\"%merge\"", "\"%verbose\"", "\"%error-verbose\"", "\"%output\"",
472    "\"%name-prefix\"", "\"%define\"", "\"%pure-parser\"", "\"%defines\"",    "\"%file-prefix\"", "\"%name-prefix\"", "\"%define\"",
473    "\"%yacc\"", "\"%debug\"", "\"%locations\"", "\"%no-lines\"",    "\"%pure-parser\"", "\"%glr-parser\"", "\"%defines\"", "\"%yacc\"",
474    "\"%skeleton\"", "\"%token-table\"", "TYPE", "\"=\"", "\";\"", "\":\"",    "\"%debug\"", "\"%locations\"", "\"%no-lines\"", "\"%skeleton\"",
475    "\"|\"", "\"identifier\"", "\"%%\"", "PROLOGUE", "EPILOGUE",    "\"%token-table\"", "TYPE", "\"=\"", "\";\"", "\":\"", "\"|\"",
476    "BRACED_CODE", "$axiom", "input", "declarations", "declaration",    "\"identifier\"", "\"%%\"", "PROLOGUE", "EPILOGUE", "BRACED_CODE",
477    "grammar_declaration", "@1", "@2", "symbol_declaration", "@3", "@4",    "$axiom", "input", "declarations", "declaration", "grammar_declaration",
478    "precedence_declaration", "precedence_declarator", "type.opt",    "@1", "@2", "symbol_declaration", "@3", "@4", "precedence_declaration",
479    "symbols.1", "symbol_def", "symbol_defs.1", "grammar",    "precedence_declarator", "type.opt", "symbols.1", "symbol_def",
480    "rules_or_grammar_declaration", "rules", "@5", "rhses.1", "rhs",    "symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules",
481    "symbol", "action", "string_as_id", "string_content", "epilogue.opt",    "@5", "rhses.1", "rhs", "symbol", "action", "string_as_id",
482    "semi_colon.opt", 0    "string_content", "epilogue.opt", "semi_colon.opt", 0
483  };  };
484  #endif  #endif
485    
# Line 484  static const short yytoknum[] = Line 491  static const short yytoknum[] =
491       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
492       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
493       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
494       295,   296,    -1       295,   296,   297,   298,   299,    -1
495  };  };
496    
497  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
498  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
499  {  {
500         0,    42,    43,    44,    44,    45,    45,    45,    45,    45,         0,    45,    46,    47,    47,    48,    48,    48,    48,    48,
501        45,    45,    45,    45,    45,    45,    45,    45,    45,    45,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
502        45,    45,    46,    46,    46,    46,    47,    46,    48,    46,        48,    48,    48,    49,    49,    49,    49,    50,    49,    51,
503        50,    49,    51,    49,    49,    52,    53,    53,    53,    54,        49,    53,    52,    54,    52,    52,    55,    56,    56,    56,
504        54,    55,    55,    56,    56,    56,    56,    56,    57,    57,        57,    57,    58,    58,    59,    59,    59,    59,    59,    60,
505        58,    58,    59,    59,    61,    60,    62,    62,    63,    63,        60,    61,    61,    62,    62,    64,    63,    65,    65,    66,
506        63,    63,    64,    64,    64,    65,    66,    67,    68,    68,        66,    66,    66,    66,    66,    67,    67,    67,    68,    69,
507        69,    69        70,    71,    71,    72,    72
508  };  };
509    
510  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
511  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
512  {  {
513         0,     2,     4,     0,     3,     1,     1,     1,     3,     1,         0,     2,     4,     0,     3,     1,     1,     1,     3,     1,
514         1,     2,     3,     1,     3,     1,     3,     1,     2,     1,         1,     2,     3,     1,     3,     1,     3,     1,     1,     2,
515         1,     1,     1,     1,     2,     2,     0,     4,     0,     4,         1,     1,     1,     1,     1,     2,     2,     0,     4,     0,
516         0,     3,     0,     3,     3,     3,     1,     1,     1,     0,         4,     0,     3,     0,     3,     3,     3,     1,     1,     1,
517         1,     1,     2,     1,     1,     2,     2,     3,     1,     2,         0,     1,     1,     2,     1,     1,     2,     2,     3,     1,
518         1,     2,     1,     2,     0,     5,     1,     3,     0,     2,         2,     1,     2,     1,     2,     0,     5,     1,     3,     0,
519         2,     3,     1,     1,     1,     1,     1,     1,     0,     2,         2,     2,     3,     3,     3,     1,     1,     1,     1,     1,
520         0,     1         1,     0,     2,     0,     1
521  };  };
522    
523  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 518  static const unsigned char yyr2[] = Line 525  static const unsigned char yyr2[] =
525     means the default is an error.  */     means the default is an error.  */
526  static const short yydefact[] =  static const short yydefact[] =
527  {  {
528         3,     0,     0,     0,    32,    30,     0,    26,    28,     0,         3,     0,     0,     0,    33,    31,     0,    27,    29,     0,
529        36,    37,    38,     0,     0,    20,    10,     0,     0,     0,        37,    38,    39,     0,     0,    21,    10,     0,     0,     0,
530         0,    17,     9,    21,     7,    13,    15,     0,    19,     0,         0,    17,    18,     9,    22,     7,    13,    15,     0,    20,
531         6,    70,     5,    23,    22,    39,     0,     0,     0,     0,         0,     6,    73,     5,    24,    23,    40,     0,     0,     0,
532         0,    25,    11,    66,    64,    62,    24,    63,     0,     0,         0,     0,    26,    11,    69,    67,    65,    25,    66,     0,
533         0,    67,     0,    18,     0,     0,    68,    50,    52,    71,         0,     0,    70,     0,    19,     0,     0,    71,    51,    53,
534         4,    40,     0,    43,    44,    48,    33,    31,    34,    41,        74,     4,    41,     0,    44,    45,    49,    34,    32,    35,
535         0,     0,    16,    12,    14,     8,    54,    53,     0,    51,        42,     0,     0,    16,    12,    14,     8,    55,    54,     0,
536         2,    35,    45,    46,    49,    42,    27,    29,    58,    69,        52,     2,    36,    46,    47,    50,    43,    28,    30,    59,
537        47,     0,    56,    55,    58,     0,    65,    59,    60,    57,        72,    48,     0,    57,    56,    59,     0,     0,     0,    68,
538        61        60,    61,    58,    62,    63,    64
539  };  };
540    
541  /* YYPGOTO[NTERM-NUM]. */  /* YYPGOTO[NTERM-NUM]. */
542  static const short yydefgoto[] =  static const short yydefgoto[] =
543  {  {
544        -1,     1,     2,    31,    55,    39,    40,    33,    37,    36,        -1,     1,     2,    32,    56,    40,    41,    34,    38,    37,
545        34,    35,    62,    68,    65,    66,    56,    57,    58,    88,        35,    36,    63,    69,    66,    67,    57,    58,    59,    89,
546        91,    92,    69,    98,    47,    52,    80,    60        92,    93,    70,   101,    48,    53,    81,    61
547  };  };
548    
549  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
550     STATE-NUM.  */     STATE-NUM.  */
551  static const short yypact[] =  static const short yypact[] =
552  {  {
553    -32768,     8,    80,-32768,-32768,-32768,   -19,-32768,-32768,   -11,    -32768,     7,    83,-32768,-32768,-32768,   -23,-32768,-32768,     3,
554    -32768,-32768,-32768,    31,     0,-32768,-32768,     5,     9,    11,    -32768,-32768,-32768,    43,     0,-32768,-32768,    13,    14,    15,
555        40,-32768,-32768,-32768,-32768,-32768,-32768,    40,-32768,   114,        51,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    51,-32768,
556    -32768,    12,-32768,-32768,-32768,    13,   -27,   -27,     0,    14,        23,-32768,    19,-32768,-32768,-32768,    22,   -29,   -29,     0,
557        15,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    40,    40,        17,    18,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    51,
558        40,-32768,    40,-32768,    16,    18,    10,-32768,-32768,-32768,        51,    51,-32768,    51,-32768,    20,    27,    12,-32768,-32768,
559    -32768,-32768,     0,-32768,     6,-32768,   -27,   -27,     0,-32768,    -32768,-32768,-32768,     0,-32768,     5,-32768,   -29,   -29,     0,
560         0,     0,-32768,-32768,-32768,-32768,-32768,-32768,    17,-32768,    -32768,     0,     0,-32768,-32768,-32768,-32768,-32768,-32768,    28,
561    -32768,     0,    46,-32768,-32768,-32768,     0,     0,-32768,-32768,    -32768,-32768,     0,    56,-32768,-32768,-32768,     0,     0,-32768,
562    -32768,   -22,    -2,-32768,-32768,     0,-32768,-32768,-32768,    -2,    -32768,-32768,     4,    -2,-32768,-32768,     0,    55,    35,-32768,
563    -32768    -32768,-32768,    -2,-32768,-32768,-32768
564  };  };
565    
566  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
567  static const short yypgoto[] =  static const short yypgoto[] =
568  {  {
569    -32768,-32768,-32768,-32768,    48,-32768,-32768,-32768,-32768,-32768,    -32768,-32768,-32768,-32768,    70,-32768,-32768,-32768,-32768,-32768,
570    -32768,-32768,-32768,   -30,   -33,    21,-32768,    -3,-32768,-32768,    -32768,-32768,-32768,   -58,   -22,    37,-32768,    21,-32768,-32768,
571    -32768,   -35,   -14,-32768,   -57,   -21,-32768,-32768    -32768,   -19,   -14,-32768,   -56,    16,-32768,-32768
572  };  };
573    
574  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
# Line 569  static const short yypgoto[] = Line 576  static const short yypgoto[] =
576     number is the opposite.  If zero, do what YYDEFACT says.  */     number is the opposite.  If zero, do what YYDEFACT says.  */
577  static const short yytable[] =  static const short yytable[] =
578  {  {
579        46,    43,    44,    43,    44,    63,    53,    83,     3,    43,        47,    44,    45,    44,    45,    82,    64,     3,    44,    84,
580        64,    82,    93,    38,    94,    95,     4,     5,     6,     7,        83,    65,    39,    87,    88,    96,    97,    98,     4,     5,
581         8,     9,    10,    11,    12,    90,    14,    72,    73,    74,         6,     7,     8,     9,    10,    11,    12,    91,    14,     4,
582        41,    75,    81,    84,    84,    45,    42,    45,    48,    96,         5,     6,     7,     8,     9,    10,    11,    12,    46,    14,
583        86,    87,    49,    51,    50,    61,    59,    54,    78,    43,        46,    94,    99,    95,    54,    85,    85,    42,    43,    49,
584        32,    76,    77,    79,    85,    70,    71,    89,    67,    99,        50,    51,    55,    79,    52,    86,    60,    62,    77,    44,
585         0,     0,     0,     0,     0,     0,     0,    85,     0,     0,       104,    71,    72,    55,    78,    73,    74,    75,    86,    76,
586         0,     0,    85,    85,     0,     0,     0,     0,    97,     0,       105,    90,    33,    86,    86,    68,   102,     0,    80,   100,
587         0,   100,     0,     0,     0,    97,     4,     5,     6,     7,         0,     0,   103,     0,     0,     0,     0,     0,   100,     4,
588         8,     9,    10,    11,    12,    13,    14,     0,    15,    16,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
589        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,         0,     0,     0,    15,    16,    17,    18,    19,    20,    21,
590        27,    28,     0,     0,     0,     0,     0,     0,    29,    30,        22,    23,    24,    25,    26,    27,    28,    29,     0,     0,
591         4,     5,     6,     7,     8,     9,    10,    11,    12,     0,         0,     0,     0,     0,    30,    31
       14,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,    54  
592  };  };
593    
594  static const short yycheck[] =  static const short yycheck[] =
595  {  {
596        14,     3,     4,     3,     4,    32,    27,    64,     0,     3,        14,     3,     4,     3,     4,    63,    35,     0,     3,    65,
597        37,     5,    34,    32,    36,    17,     6,     7,     8,     9,         5,    40,    35,    71,    72,    17,    18,    19,     6,     7,
598        10,    11,    12,    13,    14,    82,    16,    48,    49,    50,         8,     9,    10,    11,    12,    13,    14,    83,    16,     6,
599        41,    52,    62,    66,    67,    37,     5,    37,    33,    41,         7,     8,     9,    10,    11,    12,    13,    14,    40,    16,
600        70,    71,    33,     3,    33,    32,    34,    37,    38,     3,        40,    37,    44,    39,    28,    67,    68,    44,     5,    36,
601         2,    35,    34,    56,    68,    41,    41,    40,    37,    94,        36,    36,    40,    41,     3,    69,    37,    35,    38,     3,
602        -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    -1,         5,    44,    44,    40,    37,    49,    50,    51,    82,    53,
603        -1,    -1,    86,    87,    -1,    -1,    -1,    -1,    92,    -1,        35,    43,     2,    87,    88,    38,    95,    -1,    57,    93,
604        -1,    95,    -1,    -1,    -1,    99,     6,     7,     8,     9,        -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,   102,     6,
605        10,    11,    12,    13,    14,    15,    16,    -1,    18,    19,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
606        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
607        30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,        27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,
608         6,     7,     8,     9,    10,    11,    12,    13,    14,    -1,        -1,    -1,    -1,    -1,    41,    42
       16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    37  
609  };  };
610    
611  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
612     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
613  static const unsigned char yystos[] =  static const unsigned char yystos[] =
614  {  {
615         0,    43,    44,     0,     6,     7,     8,     9,    10,    11,         0,    46,    47,     0,     6,     7,     8,     9,    10,    11,
616        12,    13,    14,    15,    16,    18,    19,    20,    21,    22,        12,    13,    14,    15,    16,    20,    21,    22,    23,    24,
617        23,    24,    25,    26,    27,    28,    29,    30,    31,    38,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
618        39,    45,    46,    49,    52,    53,    51,    50,    32,    47,        41,    42,    48,    49,    52,    55,    56,    54,    53,    35,
619        48,    41,     5,     3,     4,    37,    64,    66,    33,    33,        50,    51,    44,     5,     3,     4,    40,    67,    69,    36,
620        33,     3,    67,    67,    37,    46,    58,    59,    60,    34,        36,    36,     3,    70,    70,    40,    49,    61,    62,    63,
621        69,    32,    54,    32,    37,    56,    57,    57,    55,    64,        37,    72,    35,    57,    35,    40,    59,    60,    60,    58,
622        41,    41,    67,    67,    67,    67,    35,    34,    38,    59,        67,    44,    44,    70,    70,    70,    70,    38,    37,    41,
623        68,    55,     5,    66,    56,    64,    55,    55,    61,    40,        62,    71,    58,     5,    69,    59,    67,    58,    58,    64,
624        66,    62,    63,    34,    36,    17,    41,    64,    65,    63,        43,    69,    65,    66,    37,    39,    17,    18,    19,    44,
625        64        67,    68,    66,    67,     5,    35
626  };  };
627    
628  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 828  int yyparse (void); Line 829  int yyparse (void);
829  #endif  #endif
830    
831  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
832  static void yydestructor (int yytype,  static void yydestruct (int yytype,
833                            YYSTYPE yyvalue, YYLTYPE yylocation);                          YYSTYPE yyvalue, YYLTYPE yylocation);
834  # if YYDEBUG  # if YYDEBUG
835  static void yysymprint (FILE* out, int yytype,  static void yysymprint (FILE* out, int yytype,
836                          YYSTYPE yyvalue, YYLTYPE yylocation);                          YYSTYPE yyvalue, YYLTYPE yylocation);
# Line 1137  yyreduce: Line 1138  yyreduce:
1138    switch (yyn)    switch (yyn)
1139      {      {
1140          case 2:          case 2:
1141  #line 157 "parse-gram.y"  #line 160 "parse-gram.y"
1142      {      {
1143        yycontrol->errcode = 0;        yycontrol->errcode = 0;
1144        epilogue_set (yyvsp[0].string, yylsp[0]);        epilogue_set (yyvsp[0].string, yylsp[0]);
# Line 1145  yyreduce: Line 1146  yyreduce:
1146      break;      break;
1147    
1148    case 6:    case 6:
1149  #line 175 "parse-gram.y"  #line 178 "parse-gram.y"
1150      { prologue_augment (yyvsp[0].string, yylsp[0]); }      { prologue_augment (yyvsp[0].string, yylsp[0]); }
1151      break;      break;
1152    
1153    case 7:    case 7:
1154  #line 176 "parse-gram.y"  #line 179 "parse-gram.y"
1155      { debug_flag = 1; }      { debug_flag = 1; }
1156      break;      break;
1157    
1158    case 8:    case 8:
1159  #line 177 "parse-gram.y"  #line 180 "parse-gram.y"
1160      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }
1161      break;      break;
1162    
1163    case 9:    case 9:
1164  #line 178 "parse-gram.y"  #line 181 "parse-gram.y"
1165      { defines_flag = 1; }      { defines_flag = 1; }
1166      break;      break;
1167    
1168    case 10:    case 10:
1169  #line 179 "parse-gram.y"  #line 182 "parse-gram.y"
1170      { error_verbose = 1; }      { error_verbose = 1; }
1171      break;      break;
1172    
1173    case 11:    case 11:
1174  #line 180 "parse-gram.y"  #line 183 "parse-gram.y"
1175      { expected_conflicts = yyvsp[0].integer; }      { expected_conflicts = yyvsp[0].integer; }
1176      break;      break;
1177    
1178    case 12:    case 12:
1179  #line 181 "parse-gram.y"  #line 184 "parse-gram.y"
1180      { spec_file_prefix = yyvsp[0].string; }      { spec_file_prefix = yyvsp[0].string; }
1181      break;      break;
1182    
1183    case 13:    case 13:
1184  #line 182 "parse-gram.y"  #line 185 "parse-gram.y"
1185      { locations_flag = 1; }      { locations_flag = 1; }
1186      break;      break;
1187    
1188    case 14:    case 14:
1189  #line 183 "parse-gram.y"  #line 186 "parse-gram.y"
1190      { spec_name_prefix = yyvsp[0].string; }      { spec_name_prefix = yyvsp[0].string; }
1191      break;      break;
1192    
1193    case 15:    case 15:
1194  #line 184 "parse-gram.y"  #line 187 "parse-gram.y"
1195      { no_lines_flag = 1; }      { no_lines_flag = 1; }
1196      break;      break;
1197    
1198    case 16:    case 16:
1199  #line 185 "parse-gram.y"  #line 188 "parse-gram.y"
1200      { spec_outfile = yyvsp[0].string; }      { spec_outfile = yyvsp[0].string; }
1201      break;      break;
1202    
1203    case 17:    case 17:
1204  #line 186 "parse-gram.y"  #line 189 "parse-gram.y"
1205      { pure_parser = 1; }      { pure_parser = 1; }
1206      break;      break;
1207    
1208    case 18:    case 18:
1209  #line 187 "parse-gram.y"  #line 190 "parse-gram.y"
1210      { skeleton = yyvsp[0].string; }      { glr_parser = 1; }
1211      break;      break;
1212    
1213    case 19:    case 19:
1214  #line 188 "parse-gram.y"  #line 191 "parse-gram.y"
1215      { token_table_flag = 1; }      { skeleton = yyvsp[0].string; }
1216      break;      break;
1217    
1218    case 20:    case 20:
1219  #line 189 "parse-gram.y"  #line 192 "parse-gram.y"
1220      { report_flag = 1; }      { token_table_flag = 1; }
1221      break;      break;
1222    
1223    case 21:    case 21:
1224  #line 190 "parse-gram.y"  #line 193 "parse-gram.y"
1225        { report_flag = 1; }
1226        break;
1227    
1228      case 22:
1229    #line 194 "parse-gram.y"
1230      { yacc_flag = 1; }      { yacc_flag = 1; }
1231      break;      break;
1232    
1233    case 24:    case 25:
1234  #line 197 "parse-gram.y"  #line 201 "parse-gram.y"
1235      {      {
1236        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
1237      }      }
1238      break;      break;
1239    
1240    case 25:    case 26:
1241  #line 201 "parse-gram.y"  #line 205 "parse-gram.y"
1242      {      {
1243        typed = 1;        typed = 1;
1244        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
# Line 1240  yyreduce: Line 1246  yyreduce:
1246      }      }
1247      break;      break;
1248    
1249    case 26:    case 27:
1250  #line 207 "parse-gram.y"  #line 211 "parse-gram.y"
1251      { current_braced_code = destructor_braced_code; }      { current_braced_code = destructor_braced_code; }
1252      break;      break;
1253    
1254    case 27:    case 28:
1255  #line 209 "parse-gram.y"  #line 213 "parse-gram.y"
1256      {      {
1257        symbol_list_t *list;        symbol_list_t *list;
1258        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1256  yyreduce: Line 1262  yyreduce:
1262      }      }
1263      break;      break;
1264    
1265    case 28:    case 29:
1266  #line 217 "parse-gram.y"  #line 221 "parse-gram.y"
1267      { current_braced_code = printer_braced_code; }      { current_braced_code = printer_braced_code; }
1268      break;      break;
1269    
1270    case 29:    case 30:
1271  #line 219 "parse-gram.y"  #line 223 "parse-gram.y"
1272      {      {
1273        symbol_list_t *list;        symbol_list_t *list;
1274        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1272  yyreduce: Line 1278  yyreduce:
1278      }      }
1279      break;      break;
1280    
1281    case 30:    case 31:
1282  #line 229 "parse-gram.y"  #line 233 "parse-gram.y"
1283      { current_class = nterm_sym; }      { current_class = nterm_sym; }
1284      break;      break;
1285    
1286    case 31:    case 32:
1287  #line 230 "parse-gram.y"  #line 234 "parse-gram.y"
1288      {      {
1289        current_class = unknown_sym;        current_class = unknown_sym;
1290        current_type = NULL;        current_type = NULL;
1291      }      }
1292      break;      break;
1293    
1294    case 32:    case 33:
1295  #line 234 "parse-gram.y"  #line 238 "parse-gram.y"
1296      { current_class = token_sym; }      { current_class = token_sym; }
1297      break;      break;
1298    
1299    case 33:    case 34:
1300  #line 235 "parse-gram.y"  #line 239 "parse-gram.y"
1301      {      {
1302        current_class = unknown_sym;        current_class = unknown_sym;
1303        current_type = NULL;        current_type = NULL;
1304      }      }
1305      break;      break;
1306    
1307    case 34:    case 35:
1308  #line 240 "parse-gram.y"  #line 244 "parse-gram.y"
1309      {      {
1310        symbol_list_t *list;        symbol_list_t *list;
1311        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1308  yyreduce: Line 1314  yyreduce:
1314      }      }
1315      break;      break;
1316    
1317    case 35:    case 36:
1318  #line 250 "parse-gram.y"  #line 254 "parse-gram.y"
1319      {      {
1320        symbol_list_t *list;        symbol_list_t *list;
1321        ++current_prec;        ++current_prec;
# Line 1323  yyreduce: Line 1329  yyreduce:
1329      }      }
1330      break;      break;
1331    
1332    case 36:    case 37:
1333  #line 264 "parse-gram.y"  #line 268 "parse-gram.y"
1334      { yyval.assoc = left_assoc; }      { yyval.assoc = left_assoc; }
1335      break;      break;
1336    
1337    case 37:    case 38:
1338  #line 265 "parse-gram.y"  #line 269 "parse-gram.y"
1339      { yyval.assoc = right_assoc; }      { yyval.assoc = right_assoc; }
1340      break;      break;
1341    
1342    case 38:    case 39:
1343  #line 266 "parse-gram.y"  #line 270 "parse-gram.y"
1344      { yyval.assoc = non_assoc; }      { yyval.assoc = non_assoc; }
1345      break;      break;
1346    
1347    case 39:    case 40:
1348  #line 270 "parse-gram.y"  #line 274 "parse-gram.y"
1349      { current_type = NULL;}      { current_type = NULL;}
1350      break;      break;
1351    
1352    case 40:    case 41:
1353  #line 271 "parse-gram.y"  #line 275 "parse-gram.y"
1354      { current_type = yyvsp[0].string; }      { current_type = yyvsp[0].string; }
1355      break;      break;
1356    
1357    case 41:    case 42:
1358  #line 277 "parse-gram.y"  #line 281 "parse-gram.y"
1359      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }
1360      break;      break;
1361    
1362    case 42:    case 43:
1363  #line 278 "parse-gram.y"  #line 282 "parse-gram.y"
1364      { 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]); }
1365      break;      break;
1366    
1367    case 43:    case 44:
1368  #line 284 "parse-gram.y"  #line 288 "parse-gram.y"
1369      {      {
1370         current_type = yyvsp[0].string;         current_type = yyvsp[0].string;
1371       }       }
1372      break;      break;
1373    
1374    case 44:    case 45:
1375  #line 288 "parse-gram.y"  #line 292 "parse-gram.y"
1376      {      {
1377         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);
1378         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);
1379       }       }
1380      break;      break;
1381    
1382    case 45:    case 46:
1383  #line 293 "parse-gram.y"  #line 297 "parse-gram.y"
1384      {      {
1385        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1386        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1382  yyreduce: Line 1388  yyreduce:
1388      }      }
1389      break;      break;
1390    
1391    case 46:    case 47:
1392  #line 299 "parse-gram.y"  #line 303 "parse-gram.y"
1393      {      {
1394        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1395        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1391  yyreduce: Line 1397  yyreduce:
1397      }      }
1398      break;      break;
1399    
1400    case 47:    case 48:
1401  #line 305 "parse-gram.y"  #line 309 "parse-gram.y"
1402      {      {
1403        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);
1404        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);
# Line 1401  yyreduce: Line 1407  yyreduce:
1407      }      }
1408      break;      break;
1409    
   case 48:  
 #line 316 "parse-gram.y"  
     {;}  
     break;  
   
1410    case 49:    case 49:
1411  #line 318 "parse-gram.y"  #line 320 "parse-gram.y"
1412      {;}      {;}
1413      break;      break;
1414    
1415    case 54:    case 50:
1416  #line 340 "parse-gram.y"  #line 322 "parse-gram.y"
1417      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }      {;}
1418      break;      break;
1419    
1420    case 55:    case 55:
1421  #line 341 "parse-gram.y"  #line 344 "parse-gram.y"
1422      {;}      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }
1423      break;      break;
1424    
1425    case 56:    case 56:
1426  #line 345 "parse-gram.y"  #line 345 "parse-gram.y"
1427      { grammar_rule_end (yylsp[0]); }      {;}
1428      break;      break;
1429    
1430    case 57:    case 57:
1431  #line 346 "parse-gram.y"  #line 349 "parse-gram.y"
1432      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1433      break;      break;
1434    
1435    case 58:    case 58:
1436  #line 351 "parse-gram.y"  #line 350 "parse-gram.y"
1437      { grammar_rule_begin (current_lhs, current_lhs_location); }      { grammar_rule_end (yylsp[0]); }
1438      break;      break;
1439    
1440    case 59:    case 59:
1441  #line 353 "parse-gram.y"  #line 355 "parse-gram.y"
1442      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }      { grammar_rule_begin (current_lhs, current_lhs_location); }
1443      break;      break;
1444    
1445    case 60:    case 60:
1446  #line 355 "parse-gram.y"  #line 357 "parse-gram.y"
1447      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
1448      break;      break;
1449    
1450    case 61:    case 61:
1451  #line 357 "parse-gram.y"  #line 359 "parse-gram.y"
1452      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }
1453      break;      break;
1454    
1455    case 62:    case 62:
1456  #line 361 "parse-gram.y"  #line 361 "parse-gram.y"
1457      { yyval.symbol = yyvsp[0].symbol; }      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }
1458      break;      break;
1459    
1460    case 63:    case 63:
1461  #line 362 "parse-gram.y"  #line 363 "parse-gram.y"
1462      { yyval.symbol = yyvsp[0].symbol; }      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }
1463      break;      break;
1464    
1465    case 64:    case 64:
1466  #line 363 "parse-gram.y"  #line 365 "parse-gram.y"
1467      { yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_merge_set (yyvsp[0].string, yylsp[0]); }
1468      break;      break;
1469    
1470    case 65:    case 65:
1471  #line 368 "parse-gram.y"  #line 369 "parse-gram.y"
1472      { yyval.string = yyvsp[0].string; }      { yyval.symbol = yyvsp[0].symbol; }
1473      break;      break;
1474    
1475    case 66:    case 66:
1476  #line 374 "parse-gram.y"  #line 370 "parse-gram.y"
1477        { yyval.symbol = yyvsp[0].symbol; }
1478        break;
1479    
1480      case 67:
1481    #line 371 "parse-gram.y"
1482        { yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); }
1483        break;
1484    
1485      case 68:
1486    #line 376 "parse-gram.y"
1487        { yyval.string = yyvsp[0].string; }
1488        break;
1489    
1490      case 69:
1491    #line 382 "parse-gram.y"
1492      {      {
1493        yyval.symbol = getsym (yyvsp[0].string, yylsp[0]);        yyval.symbol = getsym (yyvsp[0].string, yylsp[0]);
1494        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);
1495      }      }
1496      break;      break;
1497    
1498    case 67:    case 70:
1499  #line 383 "parse-gram.y"  #line 391 "parse-gram.y"
1500      {      {
1501        yyval.string = yyvsp[0].string + 1;        yyval.string = yyvsp[0].string + 1;
1502        yyval.string[strlen (yyval.string) - 1] = '\0';        yyval.string[strlen (yyval.string) - 1] = '\0';
1503      }      }
1504      break;      break;
1505    
1506    case 68:    case 71:
1507  #line 391 "parse-gram.y"  #line 399 "parse-gram.y"
1508      {      {
1509        yyval.string = xstrdup ("");        yyval.string = xstrdup ("");
1510      }      }
1511      break;      break;
1512    
1513    case 69:    case 72:
1514  #line 395 "parse-gram.y"  #line 403 "parse-gram.y"
1515      {      {
1516        yyval.string = yyvsp[0].string;        yyval.string = yyvsp[0].string;
1517      }      }
# Line 1504  yyreduce: Line 1520  yyreduce:
1520    
1521      }      }
1522    
1523  /* Line 1000 of /usr/local/share/bison/bison.simple.  */  /* Line 1040 of /home/cs/hilfingr/work/grammars/glr2/install/share/bison/yacc.c.  */
1524  #line 1509 "parse-gram.c"  #line 1525 "parse-gram.c"
1525    
1526    yyvsp -= yylen;    yyvsp -= yylen;
1527    yyssp -= yylen;    yyssp -= yylen;
# Line 1622  yyerrlab1: Line 1638  yyerrlab1:
1638                              yystos[*yyssp],                              yystos[*yyssp],
1639                              *yyvsp, *yylsp));                              *yyvsp, *yylsp));
1640                YYDPRINTF ((stderr, "\n"));                YYDPRINTF ((stderr, "\n"));
1641                yydestructor (yystos[*yyssp], *yyvsp, *yylsp);                yydestruct (yystos[*yyssp], *yyvsp, *yylsp);
1642                YYPOPSTACK;                YYPOPSTACK;
1643              }              }
1644            YYABORT;            YYABORT;
# Line 1630  yyerrlab1: Line 1646  yyerrlab1:
1646    
1647        YYDPRINTF ((stderr, "Discarding token %d (%s).\n",        YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
1648                    yychar, yytname[yychar1]));                    yychar, yytname[yychar1]));
1649        yydestructor (yychar1, yylval, yylloc);        yydestruct (yychar1, yylval, yylloc);
1650        yychar = YYEMPTY;        yychar = YYEMPTY;
1651      }      }
1652    
# Line 1662  yyerrlab1: Line 1678  yyerrlab1:
1678                      yystos[*yyssp], *yyvsp, *yylsp));                      yystos[*yyssp], *yyvsp, *yylsp));
1679        YYDPRINTF ((stderr, "\n"));        YYDPRINTF ((stderr, "\n"));
1680    
1681        yydestructor (yystos[yystate], *yyvsp, *yylsp);        yydestruct (yystos[yystate], *yyvsp, *yylsp);
1682        yyvsp--;        yyvsp--;
1683        yystate = *--yyssp;        yystate = *--yyssp;
1684        yylsp--;        yylsp--;
# Line 1729  yyreturn: Line 1745  yyreturn:
1745  `-----------------------------------------------*/  `-----------------------------------------------*/
1746    
1747  static void  static void
1748  yydestructor (int yytype,  yydestruct (int yytype,
1749                YYSTYPE yyvalue, YYLTYPE yylocation)              YYSTYPE yyvalue, YYLTYPE yylocation)
1750  {  {
1751    switch (yytype)    switch (yytype)
1752      {      {
# Line 1750  yysymprint (FILE* yyout, int yytype, Line 1766  yysymprint (FILE* yyout, int yytype,
1766              YYSTYPE yyvalue, YYLTYPE yylocation)              YYSTYPE yyvalue, YYLTYPE yylocation)
1767  {  {
1768    if (yytype < YYNTOKENS)    if (yytype < YYNTOKENS)
1769      YYFPRINTF (yyout, "token %s (", yytname[yytype]);      {
1770          YYFPRINTF (yyout, "token %s (", yytname[yytype]);
1771    # ifdef YYPRINT
1772          YYPRINT (yyout, yytoknum[yytype], yyvalue);
1773    # endif
1774        }
1775    else    else
1776      YYFPRINTF (yyout, "nterm %s (", yytname[yytype]);      YYFPRINTF (yyout, "nterm %s (", yytname[yytype]);
1777  # ifdef YYPRINT  
   YYPRINT (yyout, yytype, yyvalue);  
 # else  
1778    switch (yytype)    switch (yytype)
1779      {      {
1780        default:        default:
1781          break;          break;
1782      }      }
 # endif /* !defined YYPRINT. */  
1783    YYFPRINTF (yyout, ")");    YYFPRINTF (yyout, ")");
1784  }  }
1785  #endif /* YYDEBUG. */  #endif /* YYDEBUG. */
1786    
1787  #line 404 "parse-gram.y"  #line 412 "parse-gram.y"
1788    
1789  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
1790  | When debugging the parser, display tokens' locations and values.  |  | When debugging the parser, display tokens' locations and values.  |

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

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