/[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.34 by akim, Tue Nov 12 09:44:41 2002 UTC revision 1.35 by akim, Fri Nov 15 16:42:16 2002 UTC
# Line 360  union yyalloc Line 360  union yyalloc
360  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
361  #define YYFINAL  3  #define YYFINAL  3
362  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
363  #define YYLAST   125  #define YYLAST   152
364    
365  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
366  #define YYNTOKENS  47  #define YYNTOKENS  47
367  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
368  #define YYNNTS  28  #define YYNNTS  29
369  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
370  #define YYNRULES  76  #define YYNRULES  77
371  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
372  #define YYNSTATES  115  #define YYNSTATES  116
373    
374  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
375  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 427  static const unsigned char yyprhs[] = Line 427  static const unsigned char yyprhs[] =
427       111,   113,   115,   116,   118,   120,   123,   125,   127,   130,       111,   113,   115,   116,   118,   120,   123,   125,   127,   130,
428       133,   137,   139,   142,   144,   147,   149,   152,   155,   156,       133,   137,   139,   142,   144,   147,   149,   152,   155,   156,
429       162,   164,   168,   169,   172,   175,   179,   183,   187,   189,       162,   164,   168,   169,   172,   175,   179,   183,   187,   189,
430       191,   193,   195,   197,   198,   201,   202       191,   193,   195,   197,   199,   200,   203,   204
431  };  };
432    
433  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
434  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
435  {  {
436        48,     0,    -1,    49,    43,    63,    73,    -1,    -1,    49,        48,     0,    -1,    49,    43,    63,    74,    -1,    -1,    49,
437        50,    74,    -1,    51,    -1,    44,    -1,    17,    -1,    18,        50,    75,    -1,    51,    -1,    44,    -1,    17,    -1,    18,
438        72,    72,    -1,    19,    -1,    20,    -1,    21,     4,    -1,        72,    72,    -1,    19,    -1,    20,    -1,    21,     4,    -1,
439        22,    37,    72,    -1,    23,    -1,    24,    72,    40,    72,        22,    37,    72,    -1,    23,    -1,    24,    73,    40,    73,
440        -1,    25,    -1,    26,    37,    72,    -1,    27,    -1,    28,        -1,    25,    -1,    26,    37,    72,    -1,    27,    -1,    28,
441        37,    72,    -1,    29,    72,    40,    72,    -1,    30,    -1,        37,    72,    -1,    29,    73,    40,    73,    -1,    30,    -1,
442        31,    72,    -1,    33,    -1,    34,    -1,    35,    -1,    57,        31,    72,    -1,    33,    -1,    34,    -1,    35,    -1,    57,
443        -1,    54,    -1,    32,    69,    -1,    10,    46,    -1,    -1,        -1,    54,    -1,    32,    69,    -1,    10,    46,    -1,    -1,
444         8,    52,    46,    60,    -1,    -1,     9,    53,    46,    60,         8,    52,    46,    60,    -1,    -1,     9,    53,    46,    60,
# Line 452  static const yysigned_char yyrhs[] = Line 452  static const yysigned_char yyrhs[] =
452        38,    -1,    68,    -1,    67,    41,    68,    -1,    -1,    68,        38,    -1,    68,    -1,    67,    41,    68,    -1,    -1,    68,
453        69,    -1,    68,    70,    -1,    68,    14,    69,    -1,    68,        69,    -1,    68,    70,    -1,    68,    14,    69,    -1,    68,
454        15,     4,    -1,    68,    16,    36,    -1,    42,    -1,    71,        15,     4,    -1,    68,    16,    36,    -1,    42,    -1,    71,
455        -1,    46,    -1,     3,    -1,     3,    -1,    -1,    43,    45,        -1,    46,    -1,     3,    -1,     3,    -1,    46,    -1,    -1,
456        -1,    -1,    38,    -1        43,    45,    -1,    -1,    38,    -1
457  };  };
458    
459  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
460  static const unsigned short yyrline[] =  static const unsigned short yyrline[] =
461  {  {
462         0,   170,   170,   182,   184,   187,   189,   190,   191,   192,         0,   170,   170,   182,   184,   187,   189,   190,   191,   192,
463       193,   194,   195,   196,   197,   199,   200,   201,   202,   203,       193,   194,   195,   196,   197,   202,   203,   204,   205,   206,
464       205,   206,   207,   208,   209,   212,   214,   215,   219,   226,       211,   212,   213,   214,   215,   218,   220,   221,   225,   232,
465       225,   236,   235,   248,   247,   253,   253,   258,   267,   282,       231,   242,   241,   254,   253,   259,   259,   264,   273,   288,
466       284,   285,   288,   290,   295,   297,   301,   306,   311,   317,       290,   291,   294,   296,   301,   303,   307,   312,   317,   323,
467       323,   333,   336,   345,   347,   353,   355,   360,   367,   366,       329,   339,   342,   351,   353,   359,   361,   366,   373,   372,
468       371,   373,   376,   379,   381,   383,   385,   387,   391,   393,       377,   379,   382,   385,   387,   389,   391,   393,   397,   399,
469       396,   402,   411,   419,   421,   428,   430       402,   408,   417,   426,   434,   436,   443,   445
470  };  };
471  #endif  #endif
472    
# Line 491  static const char *const yytname[] = Line 491  static const char *const yytname[] =
491    "precedence_declarator", "type.opt", "symbols.1", "symbol_def",    "precedence_declarator", "type.opt", "symbols.1", "symbol_def",
492    "symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules",    "symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules",
493    "@5", "rhses.1", "rhs", "symbol", "action", "string_as_id",    "@5", "rhses.1", "rhs", "symbol", "action", "string_as_id",
494    "string_content", "epilogue.opt", "semi_colon.opt", 0    "string_content", "code_content", "epilogue.opt", "semi_colon.opt", 0
495  };  };
496  #endif  #endif
497    
# Line 518  static const unsigned char yyr1[] = Line 518  static const unsigned char yyr1[] =
518        58,    58,    59,    59,    60,    60,    61,    61,    61,    61,        58,    58,    59,    59,    60,    60,    61,    61,    61,    61,
519        61,    62,    62,    63,    63,    64,    64,    64,    66,    65,        61,    62,    62,    63,    63,    64,    64,    64,    66,    65,
520        67,    67,    68,    68,    68,    68,    68,    68,    69,    69,        67,    67,    68,    68,    68,    68,    68,    68,    69,    69,
521        70,    71,    72,    73,    73,    74,    74        70,    71,    72,    73,    74,    74,    75,    75
522  };  };
523    
524  /* 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 531  static const unsigned char yyr2[] = Line 531  static const unsigned char yyr2[] =
531         1,     1,     0,     1,     1,     2,     1,     1,     2,     2,         1,     1,     0,     1,     1,     2,     1,     1,     2,     2,
532         3,     1,     2,     1,     2,     1,     2,     2,     0,     5,         3,     1,     2,     1,     2,     1,     2,     2,     0,     5,
533         1,     3,     0,     2,     2,     3,     3,     3,     1,     1,         1,     3,     0,     2,     2,     3,     3,     3,     1,     1,
534         1,     1,     1,     0,     2,     0,     1         1,     1,     1,     1,     0,     2,     0,     1
535  };  };
536    
537  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 542  static const unsigned char yydefact[] = Line 542  static const unsigned char yydefact[] =
542         3,     0,     0,     1,    35,    33,     0,    29,    31,     0,         3,     0,     0,     1,    35,    33,     0,    29,    31,     0,
543        39,    40,    41,     7,     0,     9,    10,     0,     0,    13,        39,    40,    41,     7,     0,     9,    10,     0,     0,    13,
544         0,    15,     0,    17,     0,     0,    20,     0,     0,    22,         0,    15,     0,    17,     0,     0,    20,     0,     0,    22,
545        23,    24,     0,     6,    75,     5,    26,    25,    42,     0,        23,    24,     0,     6,    76,     5,    26,    25,    42,     0,
546         0,     0,     0,     0,    28,    72,     0,    11,     0,     0,         0,     0,     0,     0,    28,    72,     0,    11,     0,    73,
547         0,     0,     0,    21,    71,    68,    27,    69,     0,     0,         0,     0,     0,     0,    21,    71,    68,    27,    69,     0,
548         0,     0,    53,    55,    76,     4,    43,     0,    46,    47,         0,     0,     0,    53,    55,    77,     4,    43,     0,    46,
549        51,    36,    34,    37,    44,     0,     0,     8,    12,     0,        47,    51,    36,    34,    37,    44,     0,     0,     8,    12,
550        16,    18,     0,    57,    58,    56,     0,    54,     2,    38,         0,    16,    18,     0,    57,    58,    56,     0,    54,     2,
551        48,    49,    52,    45,    30,    32,    14,    19,    62,    74,        38,    48,    49,    52,    45,    30,    32,    14,    19,    62,
552        50,     0,    60,    59,    62,     0,     0,     0,    70,    63,        75,    50,     0,    60,    59,    62,     0,     0,     0,    70,
553        64,    61,    65,    66,    67        63,    64,    61,    65,    66,    67
554  };  };
555    
556  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
557  static const yysigned_char yydefgoto[] =  static const yysigned_char yydefgoto[] =
558  {  {
559        -1,     1,     2,    34,    60,    42,    43,    36,    40,    39,        -1,     1,     2,    34,    61,    42,    43,    36,    40,    39,
560        37,    38,    67,    73,    70,    71,    61,    62,    63,    98,        37,    38,    68,    74,    71,    72,    62,    63,    64,    99,
561       101,   102,    74,   110,    57,    46,    88,    65       102,   103,    75,   111,    58,    46,    50,    89,    66
562  };  };
563    
564  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
565     STATE-NUM.  */     STATE-NUM.  */
566  #define YYPACT_NINF -67  #define YYPACT_NINF -66
567  static const yysigned_char yypact[] =  static const yysigned_char yypact[] =
568  {  {
569       -67,     7,    81,   -67,   -67,   -67,   -13,   -67,   -67,   -16,       -66,     6,   108,   -66,   -66,   -66,   -16,   -66,   -66,   -21,
570       -67,   -67,   -67,   -67,    32,   -67,   -67,    36,    20,   -67,       -66,   -66,   -66,   -66,    19,   -66,   -66,    32,     5,   -66,
571        32,   -67,    21,   -67,    22,    32,   -67,    32,    -1,   -67,         3,   -66,    10,   -66,    11,     3,   -66,    19,     1,   -66,
572       -67,   -67,    43,   -67,    24,   -67,   -67,   -67,    28,   -14,       -66,   -66,    80,   -66,    12,   -66,   -66,   -66,    16,   -19,
573       -14,    -1,    25,    26,   -67,   -67,    32,   -67,    32,    30,       -19,     1,     7,     8,   -66,   -66,    19,   -66,    19,   -66,
574        32,    32,    33,   -67,   -67,   -67,   -67,   -67,    38,    29,        18,    19,    19,    20,   -66,   -66,   -66,   -66,   -66,    13,
575        40,     4,   -67,   -67,   -67,   -67,   -67,    -1,   -67,    16,        24,    17,     2,   -66,   -66,   -66,   -66,   -66,     1,   -66,
576       -67,   -14,   -14,    -1,   -67,    -1,    -1,   -67,   -67,    32,        29,   -66,   -19,   -19,     1,   -66,     1,     1,   -66,   -66,
577       -67,   -67,    32,   -67,   -67,   -67,    34,   -67,   -67,    -1,         3,   -66,   -66,     3,   -66,   -66,   -66,    21,   -66,   -66,
578        77,   -67,   -67,   -67,    -1,    -1,   -67,   -67,   -67,   -67,         1,    61,   -66,   -66,   -66,     1,     1,   -66,   -66,   -66,
579       -67,   -20,    23,   -67,   -67,    -1,    78,    45,   -67,   -67,       -66,   -66,   -17,    15,   -66,   -66,     1,    65,    34,   -66,
580       -67,    23,   -67,   -67,   -67       -66,   -66,    15,   -66,   -66,   -66
581  };  };
582    
583  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
584  static const yysigned_char yypgoto[] =  static const yysigned_char yypgoto[] =
585  {  {
586       -67,   -67,   -67,   -67,    82,   -67,   -67,   -67,   -67,   -67,       -66,   -66,   -66,   -66,    63,   -66,   -66,   -66,   -66,   -66,
587       -67,   -67,   -67,   -42,   -29,    55,   -67,    35,   -67,   -67,       -66,   -66,   -66,   -49,   -34,    31,   -66,    14,   -66,   -66,
588       -67,    -7,   -28,   -67,   -66,   -19,   -67,   -67       -66,   -33,   -28,   -66,   -65,   -11,   -24,   -66,   -66
589  };  };
590    
591  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
592     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
593     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
594     If YYTABLE_NINF, parse error.  */     If YYTABLE_NINF, parse error.  */
595  #define YYTABLE_NINF -74  #define YYTABLE_NINF -75
596  static const yysigned_char yytable[] =  static const yysigned_char yytable[] =
597  {  {
598        56,    49,    54,    91,   -73,    58,    52,     3,    53,     4,        57,    53,   -74,    59,    55,    92,     3,     4,     5,     6,
599         5,     6,     7,     8,     9,    10,    11,    12,   103,    54,         7,     8,     9,    10,    11,    12,    54,    69,    55,    90,
600        90,   104,    68,    41,   100,    89,    54,    77,    69,    78,        41,   104,    45,    70,   105,    44,   101,    95,    96,   106,
601        44,    80,    81,    94,    95,    45,    28,   105,   106,   107,       107,   108,    55,    91,    28,    78,    47,    79,    93,    93,
602        47,    55,    92,    92,    58,    93,    59,    86,     4,     5,        81,    82,    48,    56,    60,    87,    94,    51,    52,    49,
603         6,     7,     8,     9,    10,    11,    12,    48,    50,    51,        65,    84,    67,    76,    77,    86,    97,    56,    80,    98,
604        96,    93,    64,    97,    66,    55,    93,    93,    84,   108,        83,   109,    94,    85,    55,    35,   100,    94,    94,   114,
605        79,    75,    76,    82,   109,    28,    83,   112,    85,    99,       115,    73,   112,     0,     0,   110,    88,     0,   113,     0,
606        54,   114,   113,   109,    35,    59,     4,     5,     6,     7,         0,    59,     0,     0,   110,     4,     5,     6,     7,     8,
607         8,     9,    10,    11,    12,    72,    87,   111,    13,    14,         9,    10,    11,    12,     0,     0,     0,     0,     0,     0,
608        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
609        25,    26,    27,    28,    29,    30,    31,     0,     0,     0,         0,     0,    28,     4,     5,     6,     7,     8,     9,    10,
610         0,     0,     0,     0,    32,    33        11,    12,    60,     0,     0,    13,    14,    15,    16,    17,
611          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
612          28,    29,    30,    31,     0,     0,     0,     0,     0,     0,
613           0,    32,    33
614  };  };
615    
616  static const yysigned_char yycheck[] =  static const yysigned_char yycheck[] =
617  {  {
618        28,    20,     3,    69,     0,     1,    25,     0,    27,     5,        28,    25,     0,     1,     3,    70,     0,     5,     6,     7,
619         6,     7,     8,     9,    10,    11,    12,    13,    38,     3,         8,     9,    10,    11,    12,    13,    27,    36,     3,    68,
620         4,    41,    36,    36,    90,    67,     3,    46,    42,    48,        36,    38,     3,    42,    41,    46,    91,    76,    77,    14,
621        46,    50,    51,    75,    76,     3,    32,    14,    15,    16,        15,    16,     3,     4,    32,    46,     4,    48,    72,    73,
622         4,    42,    71,    72,     1,    73,    42,    43,     5,     6,        51,    52,    37,    42,    42,    43,    74,    37,    37,    46,
623         7,     8,     9,    10,    11,    12,    13,    37,    37,    37,        38,    38,    36,    46,    46,    38,    80,    42,    40,    83,
624        79,    89,    38,    82,    36,    42,    94,    95,    39,    46,        40,    46,    90,    39,     3,     2,    45,    95,    96,     4,
625        40,    46,    46,    40,   102,    32,    38,   105,    38,    45,        36,    40,   105,    -1,    -1,   103,    62,    -1,   106,    -1,
626         3,    36,     4,   111,     2,    42,     5,     6,     7,     8,        -1,     1,    -1,    -1,   112,     5,     6,     7,     8,     9,
627         9,    10,    11,    12,    13,    40,    61,   104,    17,    18,        10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
628        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
629        29,    30,    31,    32,    33,    34,    35,    -1,    -1,    -1,        -1,    -1,    32,     5,     6,     7,     8,     9,    10,    11,
630        -1,    -1,    -1,    -1,    43,    44        12,    13,    42,    -1,    -1,    17,    18,    19,    20,    21,
631          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
632          32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
633          -1,    43,    44
634  };  };
635    
636  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 635  static const unsigned char yystos[] = Line 641  static const unsigned char yystos[] =
641        11,    12,    13,    17,    18,    19,    20,    21,    22,    23,        11,    12,    13,    17,    18,    19,    20,    21,    22,    23,
642        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
643        34,    35,    43,    44,    50,    51,    54,    57,    58,    56,        34,    35,    43,    44,    50,    51,    54,    57,    58,    56,
644        55,    36,    52,    53,    46,     3,    72,     4,    37,    72,        55,    36,    52,    53,    46,     3,    72,     4,    37,    46,
645        37,    37,    72,    72,     3,    42,    69,    71,     1,    42,        73,    37,    37,    73,    72,     3,    42,    69,    71,     1,
646        51,    63,    64,    65,    38,    74,    36,    59,    36,    42,        42,    51,    63,    64,    65,    38,    75,    36,    59,    36,
647        61,    62,    62,    60,    69,    46,    46,    72,    72,    40,        42,    61,    62,    62,    60,    69,    46,    46,    72,    72,
648        72,    72,    40,    38,    39,    38,    43,    64,    73,    60,        40,    72,    72,    40,    38,    39,    38,    43,    64,    74,
649         4,    71,    61,    69,    60,    60,    72,    72,    66,    45,        60,     4,    71,    61,    69,    60,    60,    73,    73,    66,
650        71,    67,    68,    38,    41,    14,    15,    16,    46,    69,        45,    71,    67,    68,    38,    41,    14,    15,    16,    46,
651        70,    68,    69,     4,    36        69,    70,    68,    69,     4,    36
652  };  };
653    
654  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1256  yyreduce: Line 1262  yyreduce:
1262    
1263    case 14:    case 14:
1264  #line 198 "parse-gram.y"  #line 198 "parse-gram.y"
1265      { muscle_pair_list_grow ("lex_param", yyvsp[-2].string, yyvsp[0].string); }      {
1266                                 muscle_pair_list_grow ("lex_param", yyvsp[-2].string, yyvsp[0].string);
1267                                 scanner_last_string_free ();
1268                               }
1269      break;      break;
1270    
1271    case 15:    case 15:
1272  #line 199 "parse-gram.y"  #line 202 "parse-gram.y"
1273      { locations_flag = 1; }      { locations_flag = 1; }
1274      break;      break;
1275    
1276    case 16:    case 16:
1277  #line 200 "parse-gram.y"  #line 203 "parse-gram.y"
1278      { spec_name_prefix = yyvsp[0].string; }      { spec_name_prefix = yyvsp[0].string; }
1279      break;      break;
1280    
1281    case 17:    case 17:
1282  #line 201 "parse-gram.y"  #line 204 "parse-gram.y"
1283      { no_lines_flag = 1; }      { no_lines_flag = 1; }
1284      break;      break;
1285    
1286    case 18:    case 18:
1287  #line 202 "parse-gram.y"  #line 205 "parse-gram.y"
1288      { spec_outfile = yyvsp[0].string; }      { spec_outfile = yyvsp[0].string; }
1289      break;      break;
1290    
1291    case 19:    case 19:
1292  #line 204 "parse-gram.y"  #line 207 "parse-gram.y"
1293      { muscle_pair_list_grow ("parse_param", yyvsp[-2].string, yyvsp[0].string); }      {
1294                                 muscle_pair_list_grow ("parse_param", yyvsp[-2].string, yyvsp[0].string);
1295                                 scanner_last_string_free ();
1296                               }
1297      break;      break;
1298    
1299    case 20:    case 20:
1300  #line 205 "parse-gram.y"  #line 211 "parse-gram.y"
1301      { pure_parser = 1; }      { pure_parser = 1; }
1302      break;      break;
1303    
1304    case 21:    case 21:
1305  #line 206 "parse-gram.y"  #line 212 "parse-gram.y"
1306      { skeleton = yyvsp[0].string; }      { skeleton = yyvsp[0].string; }
1307      break;      break;
1308    
1309    case 22:    case 22:
1310  #line 207 "parse-gram.y"  #line 213 "parse-gram.y"
1311      { token_table_flag = 1; }      { token_table_flag = 1; }
1312      break;      break;
1313    
1314    case 23:    case 23:
1315  #line 208 "parse-gram.y"  #line 214 "parse-gram.y"
1316      { report_flag = 1; }      { report_flag = 1; }
1317      break;      break;
1318    
1319    case 24:    case 24:
1320  #line 209 "parse-gram.y"  #line 215 "parse-gram.y"
1321      { yacc_flag = 1; }      { yacc_flag = 1; }
1322      break;      break;
1323    
1324    case 27:    case 27:
1325  #line 216 "parse-gram.y"  #line 222 "parse-gram.y"
1326      {      {
1327        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
1328      }      }
1329      break;      break;
1330    
1331    case 28:    case 28:
1332  #line 220 "parse-gram.y"  #line 226 "parse-gram.y"
1333      {      {
1334        typed = 1;        typed = 1;
1335        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
# Line 1326  yyreduce: Line 1338  yyreduce:
1338      break;      break;
1339    
1340    case 29:    case 29:
1341  #line 226 "parse-gram.y"  #line 232 "parse-gram.y"
1342      { current_braced_code = destructor_braced_code; }      { current_braced_code = destructor_braced_code; }
1343      break;      break;
1344    
1345    case 30:    case 30:
1346  #line 228 "parse-gram.y"  #line 234 "parse-gram.y"
1347      {      {
1348        symbol_list_t *list;        symbol_list_t *list;
1349        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1342  yyreduce: Line 1354  yyreduce:
1354      break;      break;
1355    
1356    case 31:    case 31:
1357  #line 236 "parse-gram.y"  #line 242 "parse-gram.y"
1358      { current_braced_code = printer_braced_code; }      { current_braced_code = printer_braced_code; }
1359      break;      break;
1360    
1361    case 32:    case 32:
1362  #line 238 "parse-gram.y"  #line 244 "parse-gram.y"
1363      {      {
1364        symbol_list_t *list;        symbol_list_t *list;
1365        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1358  yyreduce: Line 1370  yyreduce:
1370      break;      break;
1371    
1372    case 33:    case 33:
1373  #line 248 "parse-gram.y"  #line 254 "parse-gram.y"
1374      { current_class = nterm_sym; }      { current_class = nterm_sym; }
1375      break;      break;
1376    
1377    case 34:    case 34:
1378  #line 249 "parse-gram.y"  #line 255 "parse-gram.y"
1379      {      {
1380        current_class = unknown_sym;        current_class = unknown_sym;
1381        current_type = NULL;        current_type = NULL;
# Line 1371  yyreduce: Line 1383  yyreduce:
1383      break;      break;
1384    
1385    case 35:    case 35:
1386  #line 253 "parse-gram.y"  #line 259 "parse-gram.y"
1387      { current_class = token_sym; }      { current_class = token_sym; }
1388      break;      break;
1389    
1390    case 36:    case 36:
1391  #line 254 "parse-gram.y"  #line 260 "parse-gram.y"
1392      {      {
1393        current_class = unknown_sym;        current_class = unknown_sym;
1394        current_type = NULL;        current_type = NULL;
# Line 1384  yyreduce: Line 1396  yyreduce:
1396      break;      break;
1397    
1398    case 37:    case 37:
1399  #line 259 "parse-gram.y"  #line 265 "parse-gram.y"
1400      {      {
1401        symbol_list_t *list;        symbol_list_t *list;
1402        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1394  yyreduce: Line 1406  yyreduce:
1406      break;      break;
1407    
1408    case 38:    case 38:
1409  #line 269 "parse-gram.y"  #line 275 "parse-gram.y"
1410      {      {
1411        symbol_list_t *list;        symbol_list_t *list;
1412        ++current_prec;        ++current_prec;
# Line 1409  yyreduce: Line 1421  yyreduce:
1421      break;      break;
1422    
1423    case 39:    case 39:
1424  #line 283 "parse-gram.y"  #line 289 "parse-gram.y"
1425      { yyval.assoc = left_assoc; }      { yyval.assoc = left_assoc; }
1426      break;      break;
1427    
1428    case 40:    case 40:
1429  #line 284 "parse-gram.y"  #line 290 "parse-gram.y"
1430      { yyval.assoc = right_assoc; }      { yyval.assoc = right_assoc; }
1431      break;      break;
1432    
1433    case 41:    case 41:
1434  #line 285 "parse-gram.y"  #line 291 "parse-gram.y"
1435      { yyval.assoc = non_assoc; }      { yyval.assoc = non_assoc; }
1436      break;      break;
1437    
1438    case 42:    case 42:
1439  #line 289 "parse-gram.y"  #line 295 "parse-gram.y"
1440      { current_type = NULL; }      { current_type = NULL; }
1441      break;      break;
1442    
1443    case 43:    case 43:
1444  #line 290 "parse-gram.y"  #line 296 "parse-gram.y"
1445      { current_type = yyvsp[0].struniq; }      { current_type = yyvsp[0].struniq; }
1446      break;      break;
1447    
1448    case 44:    case 44:
1449  #line 296 "parse-gram.y"  #line 302 "parse-gram.y"
1450      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }
1451      break;      break;
1452    
1453    case 45:    case 45:
1454  #line 297 "parse-gram.y"  #line 303 "parse-gram.y"
1455      { 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]); }
1456      break;      break;
1457    
1458    case 46:    case 46:
1459  #line 303 "parse-gram.y"  #line 309 "parse-gram.y"
1460      {      {
1461         current_type = yyvsp[0].struniq;         current_type = yyvsp[0].struniq;
1462       }       }
1463      break;      break;
1464    
1465    case 47:    case 47:
1466  #line 307 "parse-gram.y"  #line 313 "parse-gram.y"
1467      {      {
1468         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);
1469         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);
# Line 1459  yyreduce: Line 1471  yyreduce:
1471      break;      break;
1472    
1473    case 48:    case 48:
1474  #line 312 "parse-gram.y"  #line 318 "parse-gram.y"
1475      {      {
1476        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1477        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1468  yyreduce: Line 1480  yyreduce:
1480      break;      break;
1481    
1482    case 49:    case 49:
1483  #line 318 "parse-gram.y"  #line 324 "parse-gram.y"
1484      {      {
1485        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1486        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1477  yyreduce: Line 1489  yyreduce:
1489      break;      break;
1490    
1491    case 50:    case 50:
1492  #line 324 "parse-gram.y"  #line 330 "parse-gram.y"
1493      {      {
1494        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);
1495        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);
# Line 1487  yyreduce: Line 1499  yyreduce:
1499      break;      break;
1500    
1501    case 51:    case 51:
1502  #line 335 "parse-gram.y"  #line 341 "parse-gram.y"
1503      {;}      {;}
1504      break;      break;
1505    
1506    case 52:    case 52:
1507  #line 337 "parse-gram.y"  #line 343 "parse-gram.y"
1508      {;}      {;}
1509      break;      break;
1510    
1511    case 56:    case 56:
1512  #line 356 "parse-gram.y"  #line 362 "parse-gram.y"
1513      {      {
1514        if (yacc_flag)        if (yacc_flag)
1515          complain_at (yyloc, _("POSIX forbids declarations in the grammar"));          complain_at (yyloc, _("POSIX forbids declarations in the grammar"));
# Line 1505  yyreduce: Line 1517  yyreduce:
1517      break;      break;
1518    
1519    case 57:    case 57:
1520  #line 361 "parse-gram.y"  #line 367 "parse-gram.y"
1521      {      {
1522        yyerrok;        yyerrok;
1523      }      }
1524      break;      break;
1525    
1526    case 58:    case 58:
1527  #line 367 "parse-gram.y"  #line 373 "parse-gram.y"
1528      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }
1529      break;      break;
1530    
1531    case 59:    case 59:
1532  #line 368 "parse-gram.y"  #line 374 "parse-gram.y"
1533      {;}      {;}
1534      break;      break;
1535    
1536    case 60:    case 60:
1537  #line 372 "parse-gram.y"  #line 378 "parse-gram.y"
1538      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1539      break;      break;
1540    
1541    case 61:    case 61:
1542  #line 373 "parse-gram.y"  #line 379 "parse-gram.y"
1543      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1544      break;      break;
1545    
1546    case 62:    case 62:
1547  #line 378 "parse-gram.y"  #line 384 "parse-gram.y"
1548      { grammar_rule_begin (current_lhs, current_lhs_location); }      { grammar_rule_begin (current_lhs, current_lhs_location); }
1549      break;      break;
1550    
1551    case 63:    case 63:
1552  #line 380 "parse-gram.y"  #line 386 "parse-gram.y"
1553      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
1554      break;      break;
1555    
1556    case 64:    case 64:
1557  #line 382 "parse-gram.y"  #line 388 "parse-gram.y"
1558      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }
1559      break;      break;
1560    
1561    case 65:    case 65:
1562  #line 384 "parse-gram.y"  #line 390 "parse-gram.y"
1563      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }
1564      break;      break;
1565    
1566    case 66:    case 66:
1567  #line 386 "parse-gram.y"  #line 392 "parse-gram.y"
1568      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }
1569      break;      break;
1570    
1571    case 67:    case 67:
1572  #line 388 "parse-gram.y"  #line 394 "parse-gram.y"
1573      { grammar_current_rule_merge_set (yyvsp[0].struniq, yylsp[0]); }      { grammar_current_rule_merge_set (yyvsp[0].struniq, yylsp[0]); }
1574      break;      break;
1575    
1576    case 68:    case 68:
1577  #line 392 "parse-gram.y"  #line 398 "parse-gram.y"
1578      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1579      break;      break;
1580    
1581    case 69:    case 69:
1582  #line 393 "parse-gram.y"  #line 399 "parse-gram.y"
1583      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1584      break;      break;
1585    
1586    case 70:    case 70:
1587  #line 398 "parse-gram.y"  #line 404 "parse-gram.y"
1588      { yyval.string = yyvsp[0].string; }      { yyval.string = yyvsp[0].string; }
1589      break;      break;
1590    
1591    case 71:    case 71:
1592  #line 404 "parse-gram.y"  #line 410 "parse-gram.y"
1593      {      {
1594        yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]);        yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]);
1595        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);
# Line 1585  yyreduce: Line 1597  yyreduce:
1597      break;      break;
1598    
1599    case 72:    case 72:
1600  #line 413 "parse-gram.y"  #line 419 "parse-gram.y"
1601        {
1602          yyval.string = yyvsp[0].string + 1;
1603          yyval.string[strlen (yyval.string) - 1] = '\0';
1604        }
1605        break;
1606    
1607      case 73:
1608    #line 428 "parse-gram.y"
1609      {      {
1610        yyval.string = yyvsp[0].string + 1;        yyval.string = yyvsp[0].string + 1;
1611        yyval.string[strlen (yyval.string) - 1] = '\0';        yyval.string[strlen (yyval.string) - 1] = '\0';
1612      }      }
1613      break;      break;
1614    
1615    case 74:    case 75:
1616  #line 422 "parse-gram.y"  #line 437 "parse-gram.y"
1617      {      {
1618        epilogue_augment (yyvsp[0].string, yylsp[0]);        epilogue_augment (yyvsp[0].string, yylsp[0]);
1619        scanner_last_string_free ();        scanner_last_string_free ();
# Line 1604  yyreduce: Line 1624  yyreduce:
1624      }      }
1625    
1626  /* Line 950 of /usr/local/share/bison/yacc.c.  */  /* Line 950 of /usr/local/share/bison/yacc.c.  */
1627  #line 1607 "parse-gram.c"  #line 1627 "parse-gram.c"
1628    
1629    yyvsp -= yylen;    yyvsp -= yylen;
1630    yyssp -= yylen;    yyssp -= yylen;
# Line 1823  yyreturn: Line 1843  yyreturn:
1843  }  }
1844    
1845    
1846  #line 432 "parse-gram.y"  #line 447 "parse-gram.y"
1847    
1848  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
1849  | When debugging the parser, display tokens' locations and values.  |  | When debugging the parser, display tokens' locations and values.  |

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

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