/[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.13 by akim, Mon Jun 17 08:43:11 2002 UTC revision 1.14 by akim, Thu Jun 20 09:08:37 2002 UTC
# Line 55  Line 55 
55  #define yychar  gram_char  #define yychar  gram_char
56  #define yydebug gram_debug  #define yydebug gram_debug
57  #define yynerrs gram_nerrs  #define yynerrs gram_nerrs
58  #if YYLSP_NEEDED  #define yylloc gram_lloc
 # define yylloc gram_lloc  
 #endif  
   
59    
60  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
61  #line 31 "parse-gram.y"  #line 31 "parse-gram.y"
# Line 133  braced_code_t current_braced_code = acti Line 130  braced_code_t current_braced_code = acti
130       PERCENT_NTERM = 262,       PERCENT_NTERM = 262,
131       PERCENT_TYPE = 263,       PERCENT_TYPE = 263,
132       PERCENT_DESTRUCTOR = 264,       PERCENT_DESTRUCTOR = 264,
133       PERCENT_UNION = 265,       PERCENT_PRINTER = 265,
134       PERCENT_LEFT = 266,       PERCENT_UNION = 266,
135       PERCENT_RIGHT = 267,       PERCENT_LEFT = 267,
136       PERCENT_NONASSOC = 268,       PERCENT_RIGHT = 268,
137       PERCENT_EXPECT = 269,       PERCENT_NONASSOC = 269,
138       PERCENT_START = 270,       PERCENT_EXPECT = 270,
139       PERCENT_PREC = 271,       PERCENT_START = 271,
140       PERCENT_VERBOSE = 272,       PERCENT_PREC = 272,
141       PERCENT_ERROR_VERBOSE = 273,       PERCENT_VERBOSE = 273,
142       PERCENT_OUTPUT = 274,       PERCENT_ERROR_VERBOSE = 274,
143       PERCENT_FILE_PREFIX = 275,       PERCENT_OUTPUT = 275,
144       PERCENT_NAME_PREFIX = 276,       PERCENT_FILE_PREFIX = 276,
145       PERCENT_DEFINE = 277,       PERCENT_NAME_PREFIX = 277,
146       PERCENT_PURE_PARSER = 278,       PERCENT_DEFINE = 278,
147       PERCENT_DEFINES = 279,       PERCENT_PURE_PARSER = 279,
148       PERCENT_YACC = 280,       PERCENT_DEFINES = 280,
149       PERCENT_DEBUG = 281,       PERCENT_YACC = 281,
150       PERCENT_LOCATIONS = 282,       PERCENT_DEBUG = 282,
151       PERCENT_NO_LINES = 283,       PERCENT_LOCATIONS = 283,
152       PERCENT_SKELETON = 284,       PERCENT_NO_LINES = 284,
153       PERCENT_TOKEN_TABLE = 285,       PERCENT_SKELETON = 285,
154       TYPE = 286,       PERCENT_TOKEN_TABLE = 286,
155       EQUAL = 287,       TYPE = 287,
156       SEMICOLON = 288,       EQUAL = 288,
157       COLON = 289,       SEMICOLON = 289,
158       PIPE = 290,       COLON = 290,
159       ID = 291,       PIPE = 291,
160       PERCENT_PERCENT = 292,       ID = 292,
161       PROLOGUE = 293,       PERCENT_PERCENT = 293,
162       EPILOGUE = 294,       PROLOGUE = 294,
163       BRACED_CODE = 295       EPILOGUE = 295,
164         BRACED_CODE = 296
165     };     };
166  # endif  # endif
167    /* POSIX requires `int' for tokens in interfaces.  */    /* POSIX requires `int' for tokens in interfaces.  */
# Line 177  braced_code_t current_braced_code = acti Line 175  braced_code_t current_braced_code = acti
175  #define PERCENT_NTERM 262  #define PERCENT_NTERM 262
176  #define PERCENT_TYPE 263  #define PERCENT_TYPE 263
177  #define PERCENT_DESTRUCTOR 264  #define PERCENT_DESTRUCTOR 264
178  #define PERCENT_UNION 265  #define PERCENT_PRINTER 265
179  #define PERCENT_LEFT 266  #define PERCENT_UNION 266
180  #define PERCENT_RIGHT 267  #define PERCENT_LEFT 267
181  #define PERCENT_NONASSOC 268  #define PERCENT_RIGHT 268
182  #define PERCENT_EXPECT 269  #define PERCENT_NONASSOC 269
183  #define PERCENT_START 270  #define PERCENT_EXPECT 270
184  #define PERCENT_PREC 271  #define PERCENT_START 271
185  #define PERCENT_VERBOSE 272  #define PERCENT_PREC 272
186  #define PERCENT_ERROR_VERBOSE 273  #define PERCENT_VERBOSE 273
187  #define PERCENT_OUTPUT 274  #define PERCENT_ERROR_VERBOSE 274
188  #define PERCENT_FILE_PREFIX 275  #define PERCENT_OUTPUT 275
189  #define PERCENT_NAME_PREFIX 276  #define PERCENT_FILE_PREFIX 276
190  #define PERCENT_DEFINE 277  #define PERCENT_NAME_PREFIX 277
191  #define PERCENT_PURE_PARSER 278  #define PERCENT_DEFINE 278
192  #define PERCENT_DEFINES 279  #define PERCENT_PURE_PARSER 279
193  #define PERCENT_YACC 280  #define PERCENT_DEFINES 280
194  #define PERCENT_DEBUG 281  #define PERCENT_YACC 281
195  #define PERCENT_LOCATIONS 282  #define PERCENT_DEBUG 282
196  #define PERCENT_NO_LINES 283  #define PERCENT_LOCATIONS 283
197  #define PERCENT_SKELETON 284  #define PERCENT_NO_LINES 284
198  #define PERCENT_TOKEN_TABLE 285  #define PERCENT_SKELETON 285
199  #define TYPE 286  #define PERCENT_TOKEN_TABLE 286
200  #define EQUAL 287  #define TYPE 287
201  #define SEMICOLON 288  #define EQUAL 288
202  #define COLON 289  #define SEMICOLON 289
203  #define PIPE 290  #define COLON 290
204  #define ID 291  #define PIPE 291
205  #define PERCENT_PERCENT 292  #define ID 292
206  #define PROLOGUE 293  #define PERCENT_PERCENT 293
207  #define EPILOGUE 294  #define PROLOGUE 294
208  #define BRACED_CODE 295  #define EPILOGUE 295
209    #define BRACED_CODE 296
210    
211    
212    
# Line 234  typedef union { Line 233  typedef union {
233    char *string;    char *string;
234    associativity assoc;    associativity assoc;
235  } yystype;  } yystype;
236  /* Line 199 of /usr/local/share/bison/bison.simple.  */  /* Line 232 of /usr/local/share/bison/bison.simple.  */
237  #line 239 "parse-gram.c"  #line 238 "parse-gram.c"
238  # define YYSTYPE yystype  # define YYSTYPE yystype
239  # define YYSTYPE_IS_TRIVIAL 1  # define YYSTYPE_IS_TRIVIAL 1
240  #endif  #endif
# Line 255  typedef struct yyltype Line 254  typedef struct yyltype
254  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
255    
256    
257  /* Line 219 of /usr/local/share/bison/bison.simple.  */  /* Line 252 of /usr/local/share/bison/bison.simple.  */
258  #line 260 "parse-gram.c"  #line 259 "parse-gram.c"
259    
260  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
261    
# Line 299  union yyalloc Line 298  union yyalloc
298  {  {
299    short yyss;    short yyss;
300    YYSTYPE yyvs;    YYSTYPE yyvs;
301  # if YYLSP_NEEDED      YYLTYPE yyls;
   YYLTYPE yyls;  
 # endif  
302  };  };
303    
304  /* The size of the maximum gap between one aligned stack and the next.  */  /* The size of the maximum gap between one aligned stack and the next.  */
# Line 309  union yyalloc Line 306  union yyalloc
306    
307  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
308     N elements.  */     N elements.  */
309  # if YYLSP_NEEDED  # define YYSTACK_BYTES(N) \
 #  define YYSTACK_BYTES(N) \  
310       ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))      \       ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))      \
311        + 2 * YYSTACK_GAP_MAX)        + 2 * YYSTACK_GAP_MAX)
 # else  
 #  define YYSTACK_BYTES(N) \  
      ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \  
       + YYSTACK_GAP_MAX)  
 # endif  
312    
313  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
314     not overlap.  */     not overlap.  */
# Line 358  union yyalloc Line 349  union yyalloc
349  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
350  #define YYFINAL  3  #define YYFINAL  3
351  #define YYFLAG   -32768  #define YYFLAG   -32768
352  #define YYLAST   115  #define YYLAST   151
353    
354  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
355  #define YYNTOKENS  41  #define YYNTOKENS  42
356  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
357  #define YYNNTS  27  #define YYNNTS  28
358  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
359  #define YYNRULES  69  #define YYNRULES  71
360  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
361  #define YYNSTATES  97  #define YYNSTATES  101
362    
363  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
364  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
365  #define YYMAXUTOK   295  #define YYMAXUTOK   296
366    
367  #define YYTRANSLATE(X) \  #define YYTRANSLATE(X) \
368    ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)    ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
# Line 408  static const unsigned char yytranslate[] Line 399  static const unsigned char yytranslate[]
399         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
400        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
401        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
402        35,    36,    37,    38,    39,    40        35,    36,    37,    38,    39,    40,    41
403  };  };
404    
405  #if YYDEBUG  #if YYDEBUG
# Line 419  static const unsigned char yyprhs[] = Line 410  static const unsigned char yyprhs[] =
410         0,     0,     3,     8,     9,    13,    15,    17,    19,    23,         0,     0,     3,     8,     9,    13,    15,    17,    19,    23,
411        25,    27,    30,    34,    36,    40,    42,    46,    48,    51,        25,    27,    30,    34,    36,    40,    42,    46,    48,    51,
412        53,    55,    57,    59,    61,    64,    67,    68,    73,    74,        53,    55,    57,    59,    61,    64,    67,    68,    73,    74,
413        78,    79,    83,    87,    91,    93,    95,    97,    98,   100,        79,    80,    84,    85,    89,    93,    97,    99,   101,   103,
414       102,   105,   107,   109,   112,   115,   119,   121,   124,   126,       104,   106,   108,   111,   113,   115,   118,   121,   125,   127,
415       129,   131,   134,   135,   141,   143,   147,   148,   151,   154,       130,   132,   135,   137,   140,   141,   147,   149,   153,   154,
416       158,   160,   162,   164,   166,   168,   170,   171,   174,   175       157,   160,   164,   166,   168,   170,   172,   174,   176,   177,
417         180,   181
418  };  };
419    
420  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
421  static const signed char yyrhs[] =  static const signed char yyrhs[] =
422  {  {
423        42,     0,    -1,    43,    37,    56,    66,    -1,    -1,    43,        43,     0,    -1,    44,    38,    58,    68,    -1,    -1,    44,
424        44,    67,    -1,    45,    -1,    38,    -1,    26,    -1,    22,        45,    69,    -1,    46,    -1,    39,    -1,    27,    -1,    23,
425        65,    65,    -1,    24,    -1,    18,    -1,    14,     5,    -1,        67,    67,    -1,    25,    -1,    19,    -1,    15,     5,    -1,
426        20,    32,    65,    -1,    27,    -1,    21,    32,    65,    -1,        21,    33,    67,    -1,    28,    -1,    22,    33,    67,    -1,
427        28,    -1,    19,    32,    65,    -1,    23,    -1,    29,    65,        29,    -1,    20,    33,    67,    -1,    24,    -1,    30,    67,
428        -1,    30,    -1,    17,    -1,    25,    -1,    50,    -1,    47,        -1,    31,    -1,    18,    -1,    26,    -1,    52,    -1,    49,
429        -1,    15,    62,    -1,    10,    40,    -1,    -1,     9,    46,        -1,    16,    64,    -1,    11,    41,    -1,    -1,     9,    47,
430        40,    53,    -1,    -1,     7,    48,    55,    -1,    -1,     6,        41,    55,    -1,    -1,    10,    48,    41,    55,    -1,    -1,
431        49,    55,    -1,     8,    31,    53,    -1,    51,    52,    53,         7,    50,    57,    -1,    -1,     6,    51,    57,    -1,     8,
432        -1,    11,    -1,    12,    -1,    13,    -1,    -1,    31,    -1,        32,    55,    -1,    53,    54,    55,    -1,    12,    -1,    13,
433        62,    -1,    53,    62,    -1,    31,    -1,    36,    -1,    36,        -1,    14,    -1,    -1,    32,    -1,    64,    -1,    55,    64,
434         5,    -1,    36,    64,    -1,    36,     5,    64,    -1,    54,        -1,    32,    -1,    37,    -1,    37,     5,    -1,    37,    66,
435        -1,    55,    54,    -1,    57,    -1,    56,    57,    -1,    58,        -1,    37,     5,    66,    -1,    56,    -1,    57,    56,    -1,
436        -1,    45,    33,    -1,    -1,    36,    34,    59,    60,    33,        59,    -1,    58,    59,    -1,    60,    -1,    46,    34,    -1,
437        -1,    61,    -1,    60,    35,    61,    -1,    -1,    61,    62,        -1,    37,    35,    61,    62,    34,    -1,    63,    -1,    62,
438        -1,    61,    63,    -1,    61,    16,    62,    -1,    36,    -1,        36,    63,    -1,    -1,    63,    64,    -1,    63,    65,    -1,
439        64,    -1,     4,    -1,    40,    -1,     3,    -1,     3,    -1,        63,    17,    64,    -1,    37,    -1,    66,    -1,     4,    -1,
440        -1,    37,    39,    -1,    -1,    33,    -1        41,    -1,     3,    -1,     3,    -1,    -1,    38,    40,    -1,
441          -1,    34,    -1
442  };  };
443    
444  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
445  static const unsigned short yyrline[] =  static const unsigned short yyrline[] =
446  {  {
447         0,   154,   154,   167,   169,   172,   174,   175,   176,   177,         0,   158,   158,   171,   173,   176,   178,   179,   180,   181,
448       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
449       188,   189,   192,   194,   195,   199,   205,   205,   217,   217,       192,   193,   196,   198,   199,   203,   210,   209,   220,   219,
450       223,   223,   228,   237,   252,   254,   255,   258,   260,   265,       232,   231,   237,   237,   242,   251,   266,   268,   269,   272,
451       267,   271,   276,   281,   287,   293,   303,   306,   315,   317,       274,   279,   281,   285,   290,   295,   301,   307,   317,   320,
452       323,   325,   328,   328,   333,   335,   338,   341,   343,   345,       329,   331,   337,   339,   343,   342,   347,   349,   352,   355,
453       349,   351,   352,   355,   361,   370,   378,   383,   389,   391       357,   359,   363,   365,   366,   369,   375,   384,   392,   397,
454         403,   405
455  };  };
456  #endif  #endif
457    
# Line 468  static const char *const yytname[] = Line 462  static const char *const yytname[] =
462  {  {
463    "\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT",    "\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT",
464    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"",    "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"",
465    "\"%union\"", "\"%left\"", "\"%right\"", "\"%nonassoc\"", "\"%expect\"",    "\"%printer\"", "\"%union\"", "\"%left\"", "\"%right\"",
466    "\"%start\"", "\"%prec\"", "\"%verbose\"", "\"%error-verbose\"",    "\"%nonassoc\"", "\"%expect\"", "\"%start\"", "\"%prec\"",
467    "\"%output\"", "\"%file-prefix\"", "\"%name-prefix\"", "\"%define\"",    "\"%verbose\"", "\"%error-verbose\"", "\"%output\"", "\"%file-prefix\"",
468    "\"%pure-parser\"", "\"%defines\"", "\"%yacc\"", "\"%debug\"",    "\"%name-prefix\"", "\"%define\"", "\"%pure-parser\"", "\"%defines\"",
469    "\"%locations\"", "\"%no-lines\"", "\"%skeleton\"", "\"%token-table\"",    "\"%yacc\"", "\"%debug\"", "\"%locations\"", "\"%no-lines\"",
470    "TYPE", "\"=\"", "\";\"", "\":\"", "\"|\"", "\"identifier\"", "\"%%\"",    "\"%skeleton\"", "\"%token-table\"", "TYPE", "\"=\"", "\";\"", "\":\"",
471    "PROLOGUE", "EPILOGUE", "BRACED_CODE", "$axiom", "input",    "\"|\"", "\"identifier\"", "\"%%\"", "PROLOGUE", "EPILOGUE",
472    "declarations", "declaration", "grammar_declaration", "@1",    "BRACED_CODE", "$axiom", "input", "declarations", "declaration",
473    "symbol_declaration", "@2", "@3", "precedence_declaration",    "grammar_declaration", "@1", "@2", "symbol_declaration", "@3", "@4",
474    "precedence_declarator", "type.opt", "symbols.1", "symbol_def",    "precedence_declaration", "precedence_declarator", "type.opt",
475    "symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules",    "symbols.1", "symbol_def", "symbol_defs.1", "grammar",
476    "@4", "rhses.1", "rhs", "symbol", "action", "string_as_id",    "rules_or_grammar_declaration", "rules", "@5", "rhses.1", "rhs",
477    "string_content", "epilogue.opt", "semi_colon.opt", 0    "symbol", "action", "string_as_id", "string_content", "epilogue.opt",
478      "semi_colon.opt", 0
479  };  };
480  #endif  #endif
481    
# Line 492  static const short yytoknum[] = Line 487  static const short yytoknum[] =
487       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
488       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
489       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
490       295,    -1       295,   296,    -1
491  };  };
492    
493  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
494  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
495  {  {
496         0,    41,    42,    43,    43,    44,    44,    44,    44,    44,         0,    42,    43,    44,    44,    45,    45,    45,    45,    45,
497        44,    44,    44,    44,    44,    44,    44,    44,    44,    44,        45,    45,    45,    45,    45,    45,    45,    45,    45,    45,
498        44,    44,    45,    45,    45,    45,    46,    45,    48,    47,        45,    45,    46,    46,    46,    46,    47,    46,    48,    46,
499        49,    47,    47,    50,    51,    51,    51,    52,    52,    53,        50,    49,    51,    49,    49,    52,    53,    53,    53,    54,
500        53,    54,    54,    54,    54,    54,    55,    55,    56,    56,        54,    55,    55,    56,    56,    56,    56,    56,    57,    57,
501        57,    57,    59,    58,    60,    60,    61,    61,    61,    61,        58,    58,    59,    59,    61,    60,    62,    62,    63,    63,
502        62,    62,    62,    63,    64,    65,    66,    66,    67,    67        63,    63,    64,    64,    64,    65,    66,    67,    68,    68,
503          69,    69
504  };  };
505    
506  /* 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 512  static const unsigned char yyr2[] = Line 508  static const unsigned char yyr2[] =
508  {  {
509         0,     2,     4,     0,     3,     1,     1,     1,     3,     1,         0,     2,     4,     0,     3,     1,     1,     1,     3,     1,
510         1,     2,     3,     1,     3,     1,     3,     1,     2,     1,         1,     2,     3,     1,     3,     1,     3,     1,     2,     1,
511         1,     1,     1,     1,     2,     2,     0,     4,     0,     3,         1,     1,     1,     1,     2,     2,     0,     4,     0,     4,
512         0,     3,     3,     3,     1,     1,     1,     0,     1,     1,         0,     3,     0,     3,     3,     3,     1,     1,     1,     0,
513         2,     1,     1,     2,     2,     3,     1,     2,     1,     2,         1,     1,     2,     1,     1,     2,     2,     3,     1,     2,
514         1,     2,     0,     5,     1,     3,     0,     2,     2,     3,         1,     2,     1,     2,     0,     5,     1,     3,     0,     2,
515         1,     1,     1,     1,     1,     1,     0,     2,     0,     1         2,     3,     1,     1,     1,     1,     1,     1,     0,     2,
516           0,     1
517  };  };
518    
519  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 524  static const unsigned char yyr2[] = Line 521  static const unsigned char yyr2[] =
521     means the default is an error.  */     means the default is an error.  */
522  static const short yydefact[] =  static const short yydefact[] =
523  {  {
524         3,     0,     0,     0,    30,    28,     0,    26,     0,    34,         3,     0,     0,     0,    32,    30,     0,    26,    28,     0,
525        35,    36,     0,     0,    20,    10,     0,     0,     0,     0,        36,    37,    38,     0,     0,    20,    10,     0,     0,     0,
526        17,     9,    21,     7,    13,    15,     0,    19,     0,     6,         0,    17,     9,    21,     7,    13,    15,     0,    19,     0,
527        68,     5,    23,    22,    37,     0,     0,     0,     0,    25,         6,    70,     5,    23,    22,    39,     0,     0,     0,     0,
528        11,    64,    62,    60,    24,    61,     0,     0,     0,    65,         0,    25,    11,    66,    64,    62,    24,    63,     0,     0,
529         0,    18,     0,     0,    66,    48,    50,    69,     4,    38,         0,    67,     0,    18,     0,     0,    68,    50,    52,    71,
530         0,    41,    42,    46,    31,    29,    32,    39,     0,    16,         4,    40,     0,    43,    44,    48,    33,    31,    34,    41,
531        12,    14,     8,    52,    51,     0,    49,     2,    33,    43,         0,     0,    16,    12,    14,     8,    54,    53,     0,    51,
532        44,    47,    40,    27,    56,    67,    45,     0,    54,    53,         2,    35,    45,    46,    49,    42,    27,    29,    58,    69,
533        56,     0,    63,    57,    58,    55,    59        47,     0,    56,    55,    58,     0,    65,    59,    60,    57,
534          61
535  };  };
536    
537  /* YYPGOTO[NTERM-NUM]. */  /* YYPGOTO[NTERM-NUM]. */
538  static const short yydefgoto[] =  static const short yydefgoto[] =
539  {  {
540        -1,     1,     2,    30,    53,    38,    32,    36,    35,    33,        -1,     1,     2,    31,    55,    39,    40,    33,    37,    36,
541        34,    60,    66,    63,    64,    54,    55,    56,    84,    87,        34,    35,    62,    68,    65,    66,    56,    57,    58,    88,
542        88,    67,    94,    45,    50,    77,    58        91,    92,    69,    98,    47,    52,    80,    60
543  };  };
544    
545  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
546     STATE-NUM.  */     STATE-NUM.  */
547  static const short yypact[] =  static const short yypact[] =
548  {  {
549    -32768,    25,    77,-32768,-32768,-32768,   -20,-32768,   -31,-32768,    -32768,     8,    80,-32768,-32768,-32768,   -19,-32768,-32768,   -11,
550    -32768,-32768,    35,     0,-32768,-32768,    12,    15,    16,    46,    -32768,-32768,-32768,    31,     0,-32768,-32768,     5,     9,    11,
551    -32768,-32768,-32768,-32768,-32768,-32768,    46,-32768,    20,-32768,        40,-32768,-32768,-32768,-32768,-32768,-32768,    40,-32768,   114,
552        17,-32768,-32768,-32768,    21,   -24,   -24,     0,    14,-32768,    -32768,    12,-32768,-32768,-32768,    13,   -27,   -27,     0,    14,
553    -32768,-32768,-32768,-32768,-32768,-32768,    46,    46,    46,-32768,        15,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    40,    40,
554        46,-32768,    26,    18,     9,-32768,-32768,-32768,-32768,-32768,        40,-32768,    40,-32768,    16,    18,    10,-32768,-32768,-32768,
555         0,-32768,     5,-32768,   -24,   -24,     0,-32768,     0,-32768,    -32768,-32768,     0,-32768,     6,-32768,   -27,   -27,     0,-32768,
556    -32768,-32768,-32768,-32768,-32768,    23,-32768,-32768,     0,    52,         0,     0,-32768,-32768,-32768,-32768,-32768,-32768,    17,-32768,
557    -32768,-32768,-32768,     0,-32768,-32768,-32768,     6,    -2,-32768,    -32768,     0,    46,-32768,-32768,-32768,     0,     0,-32768,-32768,
558    -32768,     0,-32768,-32768,-32768,    -2,-32768    -32768,   -22,    -2,-32768,-32768,     0,-32768,-32768,-32768,    -2,
559      -32768
560  };  };
561    
562  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
563  static const short yypgoto[] =  static const short yypgoto[] =
564  {  {
565    -32768,-32768,-32768,-32768,    61,-32768,-32768,-32768,-32768,-32768,    -32768,-32768,-32768,-32768,    48,-32768,-32768,-32768,-32768,-32768,
566    -32768,-32768,   -55,   -22,    28,-32768,    13,-32768,-32768,-32768,    -32768,-32768,-32768,   -30,   -33,    21,-32768,    -3,-32768,-32768,
567       -21,   -13,-32768,   -56,    11,-32768,-32768    -32768,   -35,   -14,-32768,   -57,   -21,-32768,-32768
568  };  };
569    
570  /* 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 573  static const short yypgoto[] = Line 572  static const short yypgoto[] =
572     number is the opposite.  If zero, do what YYDEFACT says.  */     number is the opposite.  If zero, do what YYDEFACT says.  */
573  static const short yytable[] =  static const short yytable[] =
574  {  {
575        44,    41,    42,    41,    42,    78,    80,    61,    41,    39,        46,    43,    44,    43,    44,    63,    53,    83,     3,    43,
576        79,    37,    62,    83,    91,     4,     5,     6,     7,     8,        64,    82,    93,    38,    94,    95,     4,     5,     6,     7,
577         9,    10,    11,    86,    13,     3,     4,     5,     6,     7,         8,     9,    10,    11,    12,    90,    14,    72,    73,    74,
578         8,     9,    10,    11,    43,    13,    43,    51,    92,    89,        41,    75,    81,    84,    84,    45,    42,    45,    48,    96,
579        40,    90,    81,    81,    46,    52,    75,    47,    48,    49,        86,    87,    49,    51,    50,    61,    59,    54,    78,    43,
580        57,    74,    59,    82,    68,    41,    52,    69,    70,    71,        32,    76,    77,    79,    85,    70,    71,    89,    67,    99,
581        73,    72,    85,    31,    65,    82,     0,    76,     0,    95,         0,     0,     0,     0,     0,     0,     0,    85,     0,     0,
582        82,     0,     0,     0,     0,    93,     0,     0,    96,     0,         0,     0,    85,    85,     0,     0,     0,     0,    97,     0,
583         0,     0,    93,     4,     5,     6,     7,     8,     9,    10,         0,   100,     0,     0,     0,    97,     4,     5,     6,     7,
584        11,    12,    13,     0,    14,    15,    16,    17,    18,    19,         8,     9,    10,    11,    12,    13,    14,     0,    15,    16,
585        20,    21,    22,    23,    24,    25,    26,    27,     0,     0,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
586         0,     0,     0,     0,    28,    29        27,    28,     0,     0,     0,     0,     0,     0,    29,    30,
587           4,     5,     6,     7,     8,     9,    10,    11,    12,     0,
588          14,     0,     0,     0,     0,     0,     0,     0,     0,     0,
589           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
590           0,    54
591  };  };
592    
593  static const short yycheck[] =  static const short yycheck[] =
594  {  {
595        13,     3,     4,     3,     4,    60,    62,    31,     3,    40,        14,     3,     4,     3,     4,    32,    27,    64,     0,     3,
596         5,    31,    36,    68,    16,     6,     7,     8,     9,    10,        37,     5,    34,    32,    36,    17,     6,     7,     8,     9,
597        11,    12,    13,    79,    15,     0,     6,     7,     8,     9,        10,    11,    12,    13,    14,    82,    16,    48,    49,    50,
598        10,    11,    12,    13,    36,    15,    36,    26,    40,    33,        41,    52,    62,    66,    67,    37,     5,    37,    33,    41,
599         5,    35,    64,    65,    32,    36,    37,    32,    32,     3,        70,    71,    33,     3,    33,    32,    34,    37,    38,     3,
600        33,    33,    31,    66,    40,     3,    36,    46,    47,    48,         2,    35,    34,    56,    68,    41,    41,    40,    37,    94,
601        34,    50,    39,     2,    36,    78,    -1,    54,    -1,    90,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    -1,
602        83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    91,    -1,        -1,    -1,    86,    87,    -1,    -1,    -1,    -1,    92,    -1,
603        -1,    -1,    95,     6,     7,     8,     9,    10,    11,    12,        -1,    95,    -1,    -1,    -1,    99,     6,     7,     8,     9,
604        13,    14,    15,    -1,    17,    18,    19,    20,    21,    22,        10,    11,    12,    13,    14,    15,    16,    -1,    18,    19,
605        23,    24,    25,    26,    27,    28,    29,    30,    -1,    -1,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
606        -1,    -1,    -1,    -1,    37,    38        30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
607           6,     7,     8,     9,    10,    11,    12,    13,    14,    -1,
608          16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
609          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
610          -1,    37
611  };  };
612    
 #if YYDEBUG  
613  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
614     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
615  static const unsigned char yystos[] =  static const unsigned char yystos[] =
616  {  {
617         0,    42,    43,     0,     6,     7,     8,     9,    10,    11,         0,    43,    44,     0,     6,     7,     8,     9,    10,    11,
618        12,    13,    14,    15,    17,    18,    19,    20,    21,    22,        12,    13,    14,    15,    16,    18,    19,    20,    21,    22,
619        23,    24,    25,    26,    27,    28,    29,    30,    37,    38,        23,    24,    25,    26,    27,    28,    29,    30,    31,    38,
620        44,    45,    47,    50,    51,    49,    48,    31,    46,    40,        39,    45,    46,    49,    52,    53,    51,    50,    32,    47,
621         5,     3,     4,    36,    62,    64,    32,    32,    32,     3,        48,    41,     5,     3,     4,    37,    64,    66,    33,    33,
622        65,    65,    36,    45,    56,    57,    58,    33,    67,    31,        33,     3,    67,    67,    37,    46,    58,    59,    60,    34,
623        52,    31,    36,    54,    55,    55,    53,    62,    40,    65,        69,    32,    54,    32,    37,    56,    57,    57,    55,    64,
624        65,    65,    65,    34,    33,    37,    57,    66,    53,     5,        41,    41,    67,    67,    67,    67,    35,    34,    38,    59,
625        64,    54,    62,    53,    59,    39,    64,    60,    61,    33,        68,    55,     5,    66,    56,    64,    55,    55,    61,    40,
626        35,    16,    40,    62,    63,    61,    62        66,    62,    63,    34,    36,    17,    41,    64,    65,    63,
627          64
628  };  };
 #endif  
629    
630  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
631  # define YYSIZE_T __SIZE_TYPE__  # define YYSIZE_T __SIZE_TYPE__
# Line 687  while (0) Line 693  while (0)
693    
694  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
695    
696  #if YYPURE  #ifdef YYLEX_PARAM
697  # if YYLSP_NEEDED  # define YYLEX  yylex (&yylval, &yylloc, YYLEX_PARAM)
698  #  ifdef YYLEX_PARAM  #else
699  #   define YYLEX                yylex (&yylval, &yylloc, YYLEX_PARAM)  # define YYLEX  yylex (&yylval, &yylloc, )
700  #  else  #endif
 #   define YYLEX                yylex (&yylval, &yylloc)  
 #  endif  
 # else /* !YYLSP_NEEDED */  
 #  ifdef YYLEX_PARAM  
 #   define YYLEX                yylex (&yylval, YYLEX_PARAM)  
 #  else  
 #   define YYLEX                yylex (&yylval)  
 #  endif  
 # endif /* !YYLSP_NEEDED */  
 #else /* !YYPURE */  
 # define YYLEX                  yylex ()  
 #endif /* !YYPURE */  
701    
702  /* Enable debugging if requested.  */  /* Enable debugging if requested.  */
703  #if YYDEBUG  #if YYDEBUG
# Line 829  int yyparse (void *); Line 823  int yyparse (void *);
823  int yyparse (void);  int yyparse (void);
824  # endif  # endif
825  #endif  #endif
826    static void yydestructor (int symbol_type, YYSTYPE symbol_value);
827    
 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,  
    variables are global, or local to YYPARSE.  */  
828    
 #define YY_DECL_NON_LSP_VARIABLES                       \  
 /* The lookahead symbol.  */                            \  
 int yychar;                                             \  
                                                         \  
 /* The semantic value of the lookahead symbol.  */      \  
 YYSTYPE yylval;                                         \  
                                                         \  
 /* Number of parse errors so far.  */                   \  
 int yynerrs;  
829    
 #if YYLSP_NEEDED  
 # define YY_DECL_VARIABLES                      \  
 YY_DECL_NON_LSP_VARIABLES                       \  
                                                 \  
 /* Location data for the lookahead symbol.  */  \  
 YYLTYPE yylloc;  
 #else  
 # define YY_DECL_VARIABLES                      \  
 YY_DECL_NON_LSP_VARIABLES  
 #endif  
   
 /* If nonreentrant, generate the variables here.  */  
   
 #if !YYPURE  
 YY_DECL_VARIABLES  
 #endif  /* !YYPURE */  
830    
831  int  int
832  yyparse (YYPARSE_PARAM_ARG)  yyparse (YYPARSE_PARAM_ARG)
833       YYPARSE_PARAM_DECL       YYPARSE_PARAM_DECL
834  {  {
835    /* If reentrant, generate the variables here.  */    /* The lookahead symbol.  */
836  #if YYPURE  int yychar;
837    YY_DECL_VARIABLES  
838  #endif  /* !YYPURE */  /* The semantic value of the lookahead symbol.  */
839    YYSTYPE yylval;
840    
841    /* Number of parse errors so far.  */
842    int yynerrs;
843    /* Location data for the lookahead symbol.  */
844    YYLTYPE yylloc;
845    
846    register int yystate;    register int yystate;
847    register int yyn;    register int yyn;
# Line 895  yyparse (YYPARSE_PARAM_ARG) Line 869  yyparse (YYPARSE_PARAM_ARG)
869    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
870    register YYSTYPE *yyvsp;    register YYSTYPE *yyvsp;
871    
 #if YYLSP_NEEDED  
872    /* The location stack.  */    /* The location stack.  */
873    YYLTYPE yylsa[YYINITDEPTH];    YYLTYPE yylsa[YYINITDEPTH];
874    YYLTYPE *yyls = yylsa;    YYLTYPE *yyls = yylsa;
875    YYLTYPE *yylsp;    YYLTYPE *yylsp;
 #endif  
876    
877  #if YYLSP_NEEDED  #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
 # define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)  
 #else  
 # define YYPOPSTACK   (yyvsp--, yyssp--)  
 #endif  
878    
879    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
880    
881    /* The variables used to return semantic value and location from the    /* The variables used to return semantic value and location from the
882       action routines.  */       action routines.  */
883    YYSTYPE yyval;    YYSTYPE yyval;
 #if YYLSP_NEEDED  
884    YYLTYPE yyloc;    YYLTYPE yyloc;
 #endif  
885    
886    /* When reducing, the number of symbols on the RHS of the reduced    /* When reducing, the number of symbols on the RHS of the reduced
887       rule.  */       rule.  */
# Line 935  yyparse (YYPARSE_PARAM_ARG) Line 901  yyparse (YYPARSE_PARAM_ARG)
901    
902    yyssp = yyss;    yyssp = yyss;
903    yyvsp = yyvs;    yyvsp = yyvs;
 #if YYLSP_NEEDED  
904    yylsp = yyls;    yylsp = yyls;
 #endif  
905    goto yysetstate;    goto yysetstate;
906    
907  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 964  yyparse (YYPARSE_PARAM_ARG) Line 928  yyparse (YYPARSE_PARAM_ARG)
928             memory.  */             memory.  */
929          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
930          short *yyss1 = yyss;          short *yyss1 = yyss;
931            YYLTYPE *yyls1 = yyls;
932    
933          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
934             data in use in that stack, in bytes.  */             data in use in that stack, in bytes.  This used to be a
935  # if YYLSP_NEEDED             conditional around just the two extra args, but that might
936          YYLTYPE *yyls1 = yyls;             be undefined if yyoverflow is a macro.  */
         /* This used to be a conditional around just the two extra args,  
            but that might be undefined if yyoverflow is a macro.  */  
937          yyoverflow ("parser stack overflow",          yyoverflow ("parser stack overflow",
938                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
939                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
940                      &yyls1, yysize * sizeof (*yylsp),                      &yyls1, yysize * sizeof (*yylsp),
941                      &yystacksize);                      &yystacksize);
942          yyls = yyls1;          yyls = yyls1;
 # else  
         yyoverflow ("parser stack overflow",  
                     &yyss1, yysize * sizeof (*yyssp),  
                     &yyvs1, yysize * sizeof (*yyvsp),  
                     &yystacksize);  
 # endif  
943          yyss = yyss1;          yyss = yyss1;
944          yyvs = yyvs1;          yyvs = yyvs1;
945        }        }
# Line 1005  yyparse (YYPARSE_PARAM_ARG) Line 962  yyparse (YYPARSE_PARAM_ARG)
962            goto yyoverflowlab;            goto yyoverflowlab;
963          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
964          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
 #  if YYLSP_NEEDED  
965          YYSTACK_RELOCATE (yyls);          YYSTACK_RELOCATE (yyls);
 #  endif  
966  #  undef YYSTACK_RELOCATE  #  undef YYSTACK_RELOCATE
967          if (yyss1 != yyssa)          if (yyss1 != yyssa)
968            YYSTACK_FREE (yyss1);            YYSTACK_FREE (yyss1);
# Line 1017  yyparse (YYPARSE_PARAM_ARG) Line 972  yyparse (YYPARSE_PARAM_ARG)
972    
973        yyssp = yyss + yysize - 1;        yyssp = yyss + yysize - 1;
974        yyvsp = yyvs + yysize - 1;        yyvsp = yyvs + yysize - 1;
 #if YYLSP_NEEDED  
975        yylsp = yyls + yysize - 1;        yylsp = yyls + yysize - 1;
 #endif  
976    
977        YYDPRINTF ((stderr, "Stack size increased to %lu\n",        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
978                    (unsigned long int) yystacksize));                    (unsigned long int) yystacksize));
# Line 1123  yybackup: Line 1076  yybackup:
1076      yychar = YYEMPTY;      yychar = YYEMPTY;
1077    
1078    *++yyvsp = yylval;    *++yyvsp = yylval;
 #if YYLSP_NEEDED  
1079    *++yylsp = yylloc;    *++yylsp = yylloc;
 #endif  
1080    
1081    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
1082       status.  */       status.  */
# Line 1163  yyreduce: Line 1114  yyreduce:
1114       GCC warning that YYVAL may be used uninitialized.  */       GCC warning that YYVAL may be used uninitialized.  */
1115    yyval = yyvsp[1-yylen];    yyval = yyvsp[1-yylen];
1116    
 #if YYLSP_NEEDED  
1117    /* Default location. */    /* Default location. */
1118    YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);    YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
 #endif  
1119    
1120  #if YYDEBUG  #if YYDEBUG
1121    /* We have to keep this `#if YYDEBUG', since we use variables which    /* We have to keep this `#if YYDEBUG', since we use variables which
# Line 1187  yyreduce: Line 1136  yyreduce:
1136    switch (yyn)    switch (yyn)
1137      {      {
1138          case 2:          case 2:
1139  #line 156 "parse-gram.y"  #line 160 "parse-gram.y"
1140      {      {
1141        yycontrol->errcode = 0;        yycontrol->errcode = 0;
1142        epilogue_set (yyvsp[0].string, yylsp[0]);        epilogue_set (yyvsp[0].string, yylsp[0]);
# Line 1195  yyreduce: Line 1144  yyreduce:
1144      break;      break;
1145    
1146    case 6:    case 6:
1147  #line 174 "parse-gram.y"  #line 178 "parse-gram.y"
1148      { prologue_augment (yyvsp[0].string, yylsp[0]); }      { prologue_augment (yyvsp[0].string, yylsp[0]); }
1149      break;      break;
1150    
1151    case 7:    case 7:
1152  #line 175 "parse-gram.y"  #line 179 "parse-gram.y"
1153      { debug_flag = 1; }      { debug_flag = 1; }
1154      break;      break;
1155    
1156    case 8:    case 8:
1157  #line 176 "parse-gram.y"  #line 180 "parse-gram.y"
1158      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }
1159      break;      break;
1160    
1161    case 9:    case 9:
1162  #line 177 "parse-gram.y"  #line 181 "parse-gram.y"
1163      { defines_flag = 1; }      { defines_flag = 1; }
1164      break;      break;
1165    
1166    case 10:    case 10:
1167  #line 178 "parse-gram.y"  #line 182 "parse-gram.y"
1168      { error_verbose = 1; }      { error_verbose = 1; }
1169      break;      break;
1170    
1171    case 11:    case 11:
1172  #line 179 "parse-gram.y"  #line 183 "parse-gram.y"
1173      { expected_conflicts = yyvsp[0].integer; }      { expected_conflicts = yyvsp[0].integer; }
1174      break;      break;
1175    
1176    case 12:    case 12:
1177  #line 180 "parse-gram.y"  #line 184 "parse-gram.y"
1178      { spec_file_prefix = yyvsp[0].string; }      { spec_file_prefix = yyvsp[0].string; }
1179      break;      break;
1180    
1181    case 13:    case 13:
1182  #line 181 "parse-gram.y"  #line 185 "parse-gram.y"
1183      { locations_flag = 1; }      { locations_flag = 1; }
1184      break;      break;
1185    
1186    case 14:    case 14:
1187  #line 182 "parse-gram.y"  #line 186 "parse-gram.y"
1188      { spec_name_prefix = yyvsp[0].string; }      { spec_name_prefix = yyvsp[0].string; }
1189      break;      break;
1190    
1191    case 15:    case 15:
1192  #line 183 "parse-gram.y"  #line 187 "parse-gram.y"
1193      { no_lines_flag = 1; }      { no_lines_flag = 1; }
1194      break;      break;
1195    
1196    case 16:    case 16:
1197  #line 184 "parse-gram.y"  #line 188 "parse-gram.y"
1198      { spec_outfile = yyvsp[0].string; }      { spec_outfile = yyvsp[0].string; }
1199      break;      break;
1200    
1201    case 17:    case 17:
1202  #line 185 "parse-gram.y"  #line 189 "parse-gram.y"
1203      { pure_parser = 1; }      { pure_parser = 1; }
1204      break;      break;
1205    
1206    case 18:    case 18:
1207  #line 186 "parse-gram.y"  #line 190 "parse-gram.y"
1208      { skeleton = yyvsp[0].string; }      { skeleton = yyvsp[0].string; }
1209      break;      break;
1210    
1211    case 19:    case 19:
1212  #line 187 "parse-gram.y"  #line 191 "parse-gram.y"
1213      { token_table_flag = 1; }      { token_table_flag = 1; }
1214      break;      break;
1215    
1216    case 20:    case 20:
1217  #line 188 "parse-gram.y"  #line 192 "parse-gram.y"
1218      { report_flag = 1; }      { report_flag = 1; }
1219      break;      break;
1220    
1221    case 21:    case 21:
1222  #line 189 "parse-gram.y"  #line 193 "parse-gram.y"
1223      { yacc_flag = 1; }      { yacc_flag = 1; }
1224      break;      break;
1225    
1226    case 24:    case 24:
1227  #line 196 "parse-gram.y"  #line 200 "parse-gram.y"
1228      {      {
1229        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
1230      }      }
1231      break;      break;
1232    
1233    case 25:    case 25:
1234  #line 200 "parse-gram.y"  #line 204 "parse-gram.y"
1235      {      {
1236        typed = 1;        typed = 1;
1237        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
# Line 1291  yyreduce: Line 1240  yyreduce:
1240      break;      break;
1241    
1242    case 26:    case 26:
1243  #line 206 "parse-gram.y"  #line 210 "parse-gram.y"
1244      { current_braced_code = destructor_braced_code; }      { current_braced_code = destructor_braced_code; }
1245      break;      break;
1246    
1247    case 27:    case 27:
1248  #line 208 "parse-gram.y"  #line 212 "parse-gram.y"
1249      {      {
1250        symbol_list_t *list;        symbol_list_t *list;
1251        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1307  yyreduce: Line 1256  yyreduce:
1256      break;      break;
1257    
1258    case 28:    case 28:
1259  #line 218 "parse-gram.y"  #line 220 "parse-gram.y"
1260      { current_class = nterm_sym; }      { current_braced_code = printer_braced_code; }
1261      break;      break;
1262    
1263    case 29:    case 29:
1264  #line 219 "parse-gram.y"  #line 222 "parse-gram.y"
1265      {      {
1266        current_class = unknown_sym;        symbol_list_t *list;
1267        current_type = NULL;        for (list = yyvsp[0].list; list; list = list->next)
1268            symbol_printer_set (list->sym, yyvsp[-1].string, list->location);
1269          symbol_list_free (yyvsp[0].list);
1270          current_braced_code = action_braced_code;
1271      }      }
1272      break;      break;
1273    
1274    case 30:    case 30:
1275  #line 223 "parse-gram.y"  #line 232 "parse-gram.y"
1276      { current_class = token_sym; }      { current_class = nterm_sym; }
1277      break;      break;
1278    
1279    case 31:    case 31:
1280  #line 224 "parse-gram.y"  #line 233 "parse-gram.y"
1281      {      {
1282        current_class = unknown_sym;        current_class = unknown_sym;
1283        current_type = NULL;        current_type = NULL;
# Line 1333  yyreduce: Line 1285  yyreduce:
1285      break;      break;
1286    
1287    case 32:    case 32:
1288  #line 229 "parse-gram.y"  #line 237 "parse-gram.y"
1289        { current_class = token_sym; }
1290        break;
1291    
1292      case 33:
1293    #line 238 "parse-gram.y"
1294        {
1295          current_class = unknown_sym;
1296          current_type = NULL;
1297        }
1298        break;
1299    
1300      case 34:
1301    #line 243 "parse-gram.y"
1302      {      {
1303        symbol_list_t *list;        symbol_list_t *list;
1304        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1342  yyreduce: Line 1307  yyreduce:
1307      }      }
1308      break;      break;
1309    
1310    case 33:    case 35:
1311  #line 239 "parse-gram.y"  #line 253 "parse-gram.y"
1312      {      {
1313        symbol_list_t *list;        symbol_list_t *list;
1314        ++current_prec;        ++current_prec;
# Line 1357  yyreduce: Line 1322  yyreduce:
1322      }      }
1323      break;      break;
1324    
1325    case 34:    case 36:
1326  #line 253 "parse-gram.y"  #line 267 "parse-gram.y"
1327      { yyval.assoc = left_assoc; }      { yyval.assoc = left_assoc; }
1328      break;      break;
1329    
1330    case 35:    case 37:
1331  #line 254 "parse-gram.y"  #line 268 "parse-gram.y"
1332      { yyval.assoc = right_assoc; }      { yyval.assoc = right_assoc; }
1333      break;      break;
1334    
1335    case 36:    case 38:
1336  #line 255 "parse-gram.y"  #line 269 "parse-gram.y"
1337      { yyval.assoc = non_assoc; }      { yyval.assoc = non_assoc; }
1338      break;      break;
1339    
1340    case 37:    case 39:
1341  #line 259 "parse-gram.y"  #line 273 "parse-gram.y"
1342      { current_type = NULL;}      { current_type = NULL;}
1343      break;      break;
1344    
1345    case 38:    case 40:
1346  #line 260 "parse-gram.y"  #line 274 "parse-gram.y"
1347      { current_type = yyvsp[0].string; }      { current_type = yyvsp[0].string; }
1348      break;      break;
1349    
1350    case 39:    case 41:
1351  #line 266 "parse-gram.y"  #line 280 "parse-gram.y"
1352      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }
1353      break;      break;
1354    
1355    case 40:    case 42:
1356  #line 267 "parse-gram.y"  #line 281 "parse-gram.y"
1357      { 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]); }
1358      break;      break;
1359    
1360    case 41:    case 43:
1361  #line 273 "parse-gram.y"  #line 287 "parse-gram.y"
1362      {      {
1363         current_type = yyvsp[0].string;         current_type = yyvsp[0].string;
1364       }       }
1365      break;      break;
1366    
1367    case 42:    case 44:
1368  #line 277 "parse-gram.y"  #line 291 "parse-gram.y"
1369      {      {
1370         symbol_class_set (yyvsp[0].symbol, current_class);         symbol_class_set (yyvsp[0].symbol, current_class);
1371         symbol_type_set (yyvsp[0].symbol, yylsp[0], current_type);         symbol_type_set (yyvsp[0].symbol, yylsp[0], current_type);
1372       }       }
1373      break;      break;
1374    
1375    case 43:    case 45:
1376  #line 282 "parse-gram.y"  #line 296 "parse-gram.y"
1377      {      {
1378        symbol_class_set (yyvsp[-1].symbol, current_class);        symbol_class_set (yyvsp[-1].symbol, current_class);
1379        symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type);        symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type);
# Line 1416  yyreduce: Line 1381  yyreduce:
1381      }      }
1382      break;      break;
1383    
1384    case 44:    case 46:
1385  #line 288 "parse-gram.y"  #line 302 "parse-gram.y"
1386      {      {
1387        symbol_class_set (yyvsp[-1].symbol, current_class);        symbol_class_set (yyvsp[-1].symbol, current_class);
1388        symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type);        symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type);
# Line 1425  yyreduce: Line 1390  yyreduce:
1390      }      }
1391      break;      break;
1392    
1393    case 45:    case 47:
1394  #line 294 "parse-gram.y"  #line 308 "parse-gram.y"
1395      {      {
1396        symbol_class_set (yyvsp[-2].symbol, current_class);        symbol_class_set (yyvsp[-2].symbol, current_class);
1397        symbol_type_set (yyvsp[-2].symbol, yylsp[-2], current_type);        symbol_type_set (yyvsp[-2].symbol, yylsp[-2], current_type);
# Line 1435  yyreduce: Line 1400  yyreduce:
1400      }      }
1401      break;      break;
1402    
1403    case 46:    case 48:
1404  #line 305 "parse-gram.y"  #line 319 "parse-gram.y"
1405      {;}      {;}
1406      break;      break;
1407    
1408    case 47:    case 49:
1409  #line 307 "parse-gram.y"  #line 321 "parse-gram.y"
1410      {;}      {;}
1411      break;      break;
1412    
1413    case 52:    case 54:
1414  #line 329 "parse-gram.y"  #line 343 "parse-gram.y"
1415      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }
1416      break;      break;
1417    
1418    case 53:    case 55:
1419  #line 330 "parse-gram.y"  #line 344 "parse-gram.y"
1420      {;}      {;}
1421      break;      break;
1422    
1423    case 54:    case 56:
1424  #line 334 "parse-gram.y"  #line 348 "parse-gram.y"
1425      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1426      break;      break;
1427    
1428    case 55:    case 57:
1429  #line 335 "parse-gram.y"  #line 349 "parse-gram.y"
1430      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1431      break;      break;
1432    
1433    case 56:    case 58:
1434  #line 340 "parse-gram.y"  #line 354 "parse-gram.y"
1435      { grammar_rule_begin (current_lhs, current_lhs_location); }      { grammar_rule_begin (current_lhs, current_lhs_location); }
1436      break;      break;
1437    
1438    case 57:    case 59:
1439  #line 342 "parse-gram.y"  #line 356 "parse-gram.y"
1440      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
1441      break;      break;
1442    
1443    case 58:    case 60:
1444  #line 344 "parse-gram.y"  #line 358 "parse-gram.y"
1445      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }
1446      break;      break;
1447    
1448    case 59:    case 61:
1449  #line 346 "parse-gram.y"  #line 360 "parse-gram.y"
1450      { grammar_current_rule_prec_set (yyvsp[0].symbol); }      { grammar_current_rule_prec_set (yyvsp[0].symbol); }
1451      break;      break;
1452    
1453    case 60:    case 62:
1454  #line 350 "parse-gram.y"  #line 364 "parse-gram.y"
1455      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1456      break;      break;
1457    
1458    case 61:    case 63:
1459  #line 351 "parse-gram.y"  #line 365 "parse-gram.y"
1460      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1461      break;      break;
1462    
1463    case 62:    case 64:
1464  #line 352 "parse-gram.y"  #line 366 "parse-gram.y"
1465      { yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); }      { yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); }
1466      break;      break;
1467    
1468    case 63:    case 65:
1469  #line 357 "parse-gram.y"  #line 371 "parse-gram.y"
1470      { yyval.string = yyvsp[0].string; }      { yyval.string = yyvsp[0].string; }
1471      break;      break;
1472    
1473    case 64:    case 66:
1474  #line 363 "parse-gram.y"  #line 377 "parse-gram.y"
1475      {      {
1476        yyval.symbol = getsym (yyvsp[0].string, yylsp[0]);        yyval.symbol = getsym (yyvsp[0].string, yylsp[0]);
1477        symbol_class_set (yyval.symbol, token_sym);        symbol_class_set (yyval.symbol, token_sym);
1478      }      }
1479      break;      break;
1480    
1481    case 65:    case 67:
1482  #line 372 "parse-gram.y"  #line 386 "parse-gram.y"
1483      {      {
1484        yyval.string = yyvsp[0].string + 1;        yyval.string = yyvsp[0].string + 1;
1485        yyval.string[strlen (yyval.string) - 1] = '\0';        yyval.string[strlen (yyval.string) - 1] = '\0';
1486      }      }
1487      break;      break;
1488    
1489    case 66:    case 68:
1490  #line 380 "parse-gram.y"  #line 394 "parse-gram.y"
1491      {      {
1492        yyval.string = xstrdup ("");        yyval.string = xstrdup ("");
1493      }      }
1494      break;      break;
1495    
1496    case 67:    case 69:
1497  #line 384 "parse-gram.y"  #line 398 "parse-gram.y"
1498      {      {
1499        yyval.string = yyvsp[0].string;        yyval.string = yyvsp[0].string;
1500      }      }
# Line 1538  yyreduce: Line 1503  yyreduce:
1503    
1504      }      }
1505    
1506  /* Line 1012 of /usr/local/share/bison/bison.simple.  */  /* Line 996 of /usr/local/share/bison/bison.simple.  */
1507  #line 1543 "parse-gram.c"  #line 1508 "parse-gram.c"
1508    
1509    yyvsp -= yylen;    yyvsp -= yylen;
1510    yyssp -= yylen;    yyssp -= yylen;
 #if YYLSP_NEEDED  
1511    yylsp -= yylen;    yylsp -= yylen;
 #endif  
1512    
1513  #if YYDEBUG  #if YYDEBUG
1514    if (yydebug)    if (yydebug)
# Line 1559  yyreduce: Line 1522  yyreduce:
1522  #endif  #endif
1523    
1524    *++yyvsp = yyval;    *++yyvsp = yyval;
 #if YYLSP_NEEDED  
1525    *++yylsp = yyloc;    *++yylsp = yyloc;
 #endif  
1526    
1527    /* Now `shift' the result of the reduction.  Determine what state    /* Now `shift' the result of the reduction.  Determine what state
1528       that goes to, based on the state we popped back to and the rule       that goes to, based on the state we popped back to and the rule
# Line 1649  yyerrlab1: Line 1610  yyerrlab1:
1610    
1611        /* Return failure if at end of input.  */        /* Return failure if at end of input.  */
1612        if (yychar == YYEOF)        if (yychar == YYEOF)
1613          YYABORT;          {
1614              /* Pop the error token.  */
1615              YYPOPSTACK;
1616              /* Pop the rest of the stack.  */
1617              while (yyssp > yyss)
1618                {
1619    #if YYDEBUG
1620                  if (yydebug)
1621                    {
1622                      if (yystos[*yyssp] < YYNTOKENS)
1623                        {
1624                          YYFPRINTF (stderr, "Error: popping token %d (%s",
1625                                     yytoknum[yystos[*yyssp]],
1626                                     yytname[yystos[*yyssp]]);
1627    # ifdef YYPRINT
1628                          YYPRINT (stderr, yytoknum[yystos[*yyssp]], *yyvsp);
1629    # endif
1630                          YYFPRINTF (stderr, ")\n");
1631                        }
1632                      else
1633                        {
1634                          YYFPRINTF (stderr, "Error: popping nonterminal (%s)\n",
1635                                     yytname[yystos[*yyssp]]);
1636                        }
1637                    }
1638    #endif
1639                  yydestructor (yystos[*yyssp], *yyvsp);
1640                  YYPOPSTACK;
1641                }
1642              YYABORT;
1643            }
1644    
1645        YYDPRINTF ((stderr, "Discarding token %d (%s).\n",        YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
1646                    yychar, yytname[yychar1]));                    yychar, yytname[yychar1]));
1647          yydestructor (yychar1, yylval);
1648        yychar = YYEMPTY;        yychar = YYEMPTY;
1649      }      }
1650    
# Line 1698  yyerrlab1: Line 1691  yyerrlab1:
1691          }          }
1692  #endif  #endif
1693    
1694          yydestructor (yystos[yystate], *yyvsp);
1695        yyvsp--;        yyvsp--;
1696        yystate = *--yyssp;        yystate = *--yyssp;
 #if YYLSP_NEEDED  
1697        yylsp--;        yylsp--;
 #endif  
1698    
1699  #if YYDEBUG  #if YYDEBUG
1700        if (yydebug)        if (yydebug)
# Line 1722  yyerrlab1: Line 1714  yyerrlab1:
1714    YYDPRINTF ((stderr, "Shifting error token, "));    YYDPRINTF ((stderr, "Shifting error token, "));
1715    
1716    *++yyvsp = yylval;    *++yyvsp = yylval;
 #if YYLSP_NEEDED  
1717    *++yylsp = yylloc;    *++yylsp = yylloc;
 #endif  
1718    
1719    yystate = yyn;    yystate = yyn;
1720    goto yynewstate;    goto yynewstate;
# Line 1744  yyabortlab: Line 1734  yyabortlab:
1734    yyresult = 1;    yyresult = 1;
1735    goto yyreturn;    goto yyreturn;
1736    
1737  /*---------------------------------------------.  #ifndef yyoverflow
1738  | yyoverflowab -- parser overflow comes here.  |  /*----------------------------------------------.
1739  `---------------------------------------------*/  | yyoverflowlab -- parser overflow comes here.  |
1740    `----------------------------------------------*/
1741  yyoverflowlab:  yyoverflowlab:
1742    yyerror ("parser stack overflow");    yyerror ("parser stack overflow");
1743    yyresult = 2;    yyresult = 2;
1744    /* Fall through.  */    /* Fall through.  */
1745    #endif
1746    
1747  yyreturn:  yyreturn:
1748  #ifndef yyoverflow  #ifndef yyoverflow
# Line 1760  yyreturn: Line 1752  yyreturn:
1752    return yyresult;    return yyresult;
1753  }  }
1754    
1755  #line 393 "parse-gram.y"  
1756    /*-------------------------------------------------.
1757    | Release the memory associated to SYMBOL-NUMBER.  |
1758    `-------------------------------------------------*/
1759    
1760    static void
1761    yydestructor (int symbol_type, YYSTYPE symbol_value)
1762    {
1763      switch (symbol_type)
1764        {
1765          default:
1766            YYDPRINTF ((stderr, "yydestructor: unknown symbol type: %d (%s)\n",
1767                        symbol_type, yytname[symbol_type]));
1768            break;
1769        }
1770    }
1771    
1772    #line 407 "parse-gram.y"
1773    
1774  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
1775  | When debugging the parser, display tokens' locations and values.  |  | When debugging the parser, display tokens' locations and values.  |

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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