/[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.20 by akim, Tue Jul 9 09:43:22 2002 UTC revision 1.21 by akim, Tue Jul 9 14:48:01 2002 UTC
# Line 57  Line 57 
57  #line 31 "parse-gram.y"  #line 31 "parse-gram.y"
58    
59  #include "system.h"  #include "system.h"
60    #include "complain.h"
61  #include "muscle_tab.h"  #include "muscle_tab.h"
62  #include "files.h"  #include "files.h"
63  #include "getargs.h"  #include "getargs.h"
# Line 224  braced_code_t current_braced_code = acti Line 225  braced_code_t current_braced_code = acti
225  #endif  #endif
226    
227  #ifndef YYSTYPE  #ifndef YYSTYPE
228  #line 88 "parse-gram.y"  #line 89 "parse-gram.y"
229  typedef union {  typedef union {
230    symbol_t *symbol;    symbol_t *symbol;
231    symbol_list_t *list;    symbol_list_t *list;
# Line 232  typedef union { Line 233  typedef union {
233    char *string;    char *string;
234    associativity assoc;    associativity assoc;
235  } yystype;  } yystype;
236  /* Line 187 of /home/lrde/prof/akim/src/bison/data/yacc.c.  */  /* Line 187 of /usr/local/share/bison/yacc.c.  */
237  #line 237 "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 253  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 207 of /home/lrde/prof/akim/src/bison/data/yacc.c.  */  /* Line 207 of /usr/local/share/bison/yacc.c.  */
258  #line 258 "parse-gram.c"  #line 259 "parse-gram.c"
259    
260  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
261    
# Line 348  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   125  #define YYLAST   127
353    
354  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
355  #define YYNTOKENS  45  #define YYNTOKENS  45
356  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
357  #define YYNNTS  28  #define YYNNTS  28
358  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
359  #define YYNRULES  74  #define YYNRULES  75
360  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
361  #define YYNSTATES  106  #define YYNSTATES  108
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
# Line 411  static const unsigned char yyprhs[] = Line 412  static const unsigned char yyprhs[] =
412        53,    55,    57,    59,    61,    63,    66,    69,    70,    75,        53,    55,    57,    59,    61,    63,    66,    69,    70,    75,
413        76,    81,    82,    86,    87,    91,    95,    99,   101,   103,        76,    81,    82,    86,    87,    91,    95,    99,   101,   103,
414       105,   106,   108,   110,   113,   115,   117,   120,   123,   127,       105,   106,   108,   110,   113,   115,   117,   120,   123,   127,
415       129,   132,   134,   137,   139,   142,   143,   149,   151,   155,       129,   132,   134,   137,   139,   142,   145,   146,   152,   154,
416       156,   159,   162,   166,   170,   174,   176,   178,   180,   182,       158,   159,   162,   165,   169,   173,   177,   179,   181,   183,
417       184,   186,   187,   190,   191       185,   187,   189,   190,   193,   194
418  };  };
419    
420  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
# Line 433  static const signed char yyrhs[] = Line 434  static const signed char yyrhs[] =
434        58,    67,    -1,    35,    -1,    40,    -1,    40,     5,    -1,        58,    67,    -1,    35,    -1,    40,    -1,    40,     5,    -1,
435        40,    69,    -1,    40,     5,    69,    -1,    59,    -1,    60,        40,    69,    -1,    40,     5,    69,    -1,    59,    -1,    60,
436        59,    -1,    62,    -1,    61,    62,    -1,    63,    -1,    49,        59,    -1,    62,    -1,    61,    62,    -1,    63,    -1,    49,
437        37,    -1,    -1,    40,    38,    64,    65,    37,    -1,    66,        37,    -1,     1,    37,    -1,    -1,    40,    38,    64,    65,
438        -1,    65,    39,    66,    -1,    -1,    66,    67,    -1,    66,        37,    -1,    66,    -1,    65,    39,    66,    -1,    -1,    66,
439        68,    -1,    66,    17,    67,    -1,    66,    18,     5,    -1,        67,    -1,    66,    68,    -1,    66,    17,    67,    -1,    66,
440        66,    19,    35,    -1,    40,    -1,    69,    -1,     4,    -1,        18,     5,    -1,    66,    19,    35,    -1,    40,    -1,    69,
441        44,    -1,     3,    -1,     3,    -1,    -1,    41,    43,    -1,        -1,     4,    -1,    44,    -1,     3,    -1,     3,    -1,    -1,
442        -1,    37,    -1        41,    43,    -1,    -1,    37,    -1
443  };  };
444    
445  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
446  static const unsigned short yyrline[] =  static const unsigned short yyrline[] =
447  {  {
448         0,   158,   158,   171,   173,   176,   178,   179,   180,   181,         0,   159,   159,   172,   174,   177,   179,   180,   181,   182,
449       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
450       192,   193,   194,   197,   199,   200,   204,   211,   210,   221,       193,   194,   195,   198,   200,   201,   205,   212,   211,   222,
451       220,   233,   232,   238,   238,   243,   252,   267,   269,   270,       221,   234,   233,   239,   239,   244,   253,   268,   270,   271,
452       273,   275,   280,   282,   286,   291,   296,   302,   308,   318,       274,   276,   281,   283,   287,   292,   297,   303,   309,   319,
453       321,   330,   332,   338,   340,   344,   343,   348,   350,   353,       322,   331,   333,   339,   341,   346,   353,   352,   357,   359,
454       356,   358,   360,   362,   364,   368,   370,   371,   374,   380,       362,   365,   367,   369,   371,   373,   377,   379,   380,   383,
455       389,   397,   402,   408,   410       389,   398,   406,   411,   417,   419
456  };  };
457  #endif  #endif
458    
# Line 498  static const unsigned char yyr1[] = Line 499  static const unsigned char yyr1[] =
499        48,    48,    48,    49,    49,    49,    49,    50,    49,    51,        48,    48,    48,    49,    49,    49,    49,    50,    49,    51,
500        49,    53,    52,    54,    52,    52,    55,    56,    56,    56,        49,    53,    52,    54,    52,    52,    55,    56,    56,    56,
501        57,    57,    58,    58,    59,    59,    59,    59,    59,    60,        57,    57,    58,    58,    59,    59,    59,    59,    59,    60,
502        60,    61,    61,    62,    62,    64,    63,    65,    65,    66,        60,    61,    61,    62,    62,    62,    64,    63,    65,    65,
503        66,    66,    66,    66,    66,    67,    67,    67,    68,    69,        66,    66,    66,    66,    66,    66,    67,    67,    67,    68,
504        70,    71,    71,    72,    72        69,    70,    71,    71,    72,    72
505  };  };
506    
507  /* 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 511  static const unsigned char yyr2[] = Line 512  static const unsigned char yyr2[] =
512         1,     1,     1,     1,     1,     2,     2,     0,     4,     0,         1,     1,     1,     1,     1,     2,     2,     0,     4,     0,
513         4,     0,     3,     0,     3,     3,     3,     1,     1,     1,         4,     0,     3,     0,     3,     3,     3,     1,     1,     1,
514         0,     1,     1,     2,     1,     1,     2,     2,     3,     1,         0,     1,     1,     2,     1,     1,     2,     2,     3,     1,
515         2,     1,     2,     1,     2,     0,     5,     1,     3,     0,         2,     1,     2,     1,     2,     2,     0,     5,     1,     3,
516         2,     2,     3,     3,     3,     1,     1,     1,     1,     1,         0,     2,     2,     3,     3,     3,     1,     1,     1,     1,
517         1,     0,     2,     0,     1         1,     1,     0,     2,     0,     1
518  };  };
519    
520  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 524  static const short yydefact[] = Line 525  static const short yydefact[] =
525         3,     0,     0,     0,    33,    31,     0,    27,    29,     0,         3,     0,     0,     0,    33,    31,     0,    27,    29,     0,
526        37,    38,    39,     0,     0,    21,    10,     0,     0,     0,        37,    38,    39,     0,     0,    21,    10,     0,     0,     0,
527         0,    17,    18,     9,    22,     7,    13,    15,     0,    20,         0,    17,    18,     9,    22,     7,    13,    15,     0,    20,
528         0,     6,    73,     5,    24,    23,    40,     0,     0,     0,         0,     6,    74,     5,    24,    23,    40,     0,     0,     0,
529         0,     0,    26,    11,    69,    67,    65,    25,    66,     0,         0,     0,    26,    11,    70,    68,    66,    25,    67,     0,
530         0,     0,    70,     0,    19,     0,     0,    71,    51,    53,         0,     0,    71,     0,    19,     0,     0,     0,     0,    51,
531        74,     4,    41,     0,    44,    45,    49,    34,    32,    35,        53,    75,     4,    41,     0,    44,    45,    49,    34,    32,
532        42,     0,     0,    16,    12,    14,     8,    55,    54,     0,        35,    42,     0,     0,    16,    12,    14,     8,    55,    56,
533        52,     2,    36,    46,    47,    50,    43,    28,    30,    59,        54,     0,    52,     2,    36,    46,    47,    50,    43,    28,
534        72,    48,     0,    57,    56,    59,     0,     0,     0,    68,        30,    60,    73,    48,     0,    58,    57,    60,     0,     0,
535        60,    61,    58,    62,    63,    64         0,    69,    61,    62,    59,    63,    64,    65
536  };  };
537    
538  /* YYPGOTO[NTERM-NUM]. */  /* YYPGOTO[NTERM-NUM]. */
539  static const short yydefgoto[] =  static const short yydefgoto[] =
540  {  {
541        -1,     1,     2,    32,    56,    40,    41,    34,    38,    37,        -1,     1,     2,    32,    57,    40,    41,    34,    38,    37,
542        35,    36,    63,    69,    66,    67,    57,    58,    59,    89,        35,    36,    64,    70,    67,    68,    58,    59,    60,    91,
543        92,    93,    70,   101,    48,    53,    81,    61        94,    95,    71,   103,    48,    53,    83,    62
544  };  };
545    
546  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
547     STATE-NUM.  */     STATE-NUM.  */
548  static const short yypact[] =  static const short yypact[] =
549  {  {
550    -32768,     7,    83,-32768,-32768,-32768,   -23,-32768,-32768,     3,    -32768,    35,    85,-32768,-32768,-32768,     2,-32768,-32768,    -5,
551    -32768,-32768,-32768,    43,     0,-32768,-32768,    13,    14,    15,    -32768,-32768,-32768,    31,     0,-32768,-32768,    18,    21,    22,
552        51,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    51,-32768,        59,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    59,-32768,
553        23,-32768,    19,-32768,-32768,-32768,    22,   -29,   -29,     0,        37,-32768,    26,-32768,-32768,-32768,    29,   -19,   -19,     0,
554        17,    18,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    51,        23,    24,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    59,
555        51,    51,-32768,    51,-32768,    20,    27,    12,-32768,-32768,        59,    59,-32768,    59,-32768,    28,    33,    32,     1,-32768,
556    -32768,-32768,-32768,     0,-32768,     5,-32768,   -29,   -29,     0,    -32768,-32768,-32768,-32768,     0,-32768,    17,-32768,   -19,   -19,
557    -32768,     0,     0,-32768,-32768,-32768,-32768,-32768,-32768,    28,         0,-32768,     0,     0,-32768,-32768,-32768,-32768,-32768,-32768,
558    -32768,-32768,     0,    56,-32768,-32768,-32768,     0,     0,-32768,    -32768,    30,-32768,-32768,     0,    63,-32768,-32768,-32768,     0,
559    -32768,-32768,     4,    -2,-32768,-32768,     0,    55,    35,-32768,         0,-32768,-32768,-32768,    -8,    15,-32768,-32768,     0,    67,
560    -32768,-32768,    -2,-32768,-32768,-32768        39,-32768,-32768,-32768,    15,-32768,-32768,-32768
561  };  };
562    
563  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
564  static const short yypgoto[] =  static const short yypgoto[] =
565  {  {
566    -32768,-32768,-32768,-32768,    70,-32768,-32768,-32768,-32768,-32768,    -32768,-32768,-32768,-32768,    76,-32768,-32768,-32768,-32768,-32768,
567    -32768,-32768,-32768,   -58,   -22,    37,-32768,    21,-32768,-32768,    -32768,-32768,-32768,   -12,   -45,    41,-32768,    25,-32768,-32768,
568    -32768,   -19,   -14,-32768,   -56,    16,-32768,-32768    -32768,   -17,   -14,-32768,   -60,   -23,-32768,-32768
569  };  };
570    
571  /* 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 572  static const short yypgoto[] = Line 573  static const short yypgoto[] =
573     number is the opposite.  If zero, do what YYDEFACT says.  */     number is the opposite.  If zero, do what YYDEFACT says.  */
574  static const short yytable[] =  static const short yytable[] =
575  {  {
576        47,    44,    45,    44,    45,    82,    64,     3,    44,    84,        47,   -72,    55,    44,    45,    54,    86,     4,     5,     6,
577        83,    65,    39,    87,    88,    96,    97,    98,     4,     5,         7,     8,     9,    10,    11,    12,    65,    14,    44,    45,
578         6,     7,     8,     9,    10,    11,    12,    91,    14,     4,        44,    66,    85,    87,    87,    93,    74,    75,    76,    96,
579         5,     6,     7,     8,     9,    10,    11,    12,    46,    14,        77,    97,    98,    99,   100,     3,    43,    39,    55,    42,
580        46,    94,    99,    95,    54,    85,    85,    42,    43,    49,        46,    56,    81,     4,     5,     6,     7,     8,     9,    10,
581        50,    51,    55,    79,    52,    86,    60,    62,    77,    44,        11,    12,    84,    14,    49,    46,    88,    50,    51,   101,
582       104,    71,    72,    55,    78,    73,    74,    75,    86,    76,        89,    90,    52,    61,    63,    78,    44,    72,    73,    80,
583       105,    90,    33,    86,    86,    68,   102,     0,    80,   100,        88,    79,   106,    92,   107,    88,    88,    56,    33,    69,
584         0,     0,   103,     0,     0,     0,     0,     0,   100,     4,       104,   102,     0,    82,   105,     0,     0,     0,     0,     0,
585         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,       102,     4,     5,     6,     7,     8,     9,    10,    11,    12,
586         0,     0,     0,    15,    16,    17,    18,    19,    20,    21,        13,    14,     0,     0,     0,    15,    16,    17,    18,    19,
587        22,    23,    24,    25,    26,    27,    28,    29,     0,     0,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
588         0,     0,     0,     0,    30,    31         0,     0,     0,     0,     0,     0,    30,    31
589  };  };
590    
591  static const short yycheck[] =  static const short yycheck[] =
592  {  {
593        14,     3,     4,     3,     4,    63,    35,     0,     3,    65,        14,     0,     1,     3,     4,    28,    66,     6,     7,     8,
594         5,    40,    35,    71,    72,    17,    18,    19,     6,     7,         9,    10,    11,    12,    13,    14,    35,    16,     3,     4,
595         8,     9,    10,    11,    12,    13,    14,    83,    16,     6,         3,    40,     5,    68,    69,    85,    49,    50,    51,    37,
596         7,     8,     9,    10,    11,    12,    13,    14,    40,    16,        53,    39,    17,    18,    19,     0,     5,    35,     1,    44,
597        40,    37,    44,    39,    28,    67,    68,    44,     5,    36,        40,    40,    41,     6,     7,     8,     9,    10,    11,    12,
598        36,    36,    40,    41,     3,    69,    37,    35,    38,     3,        13,    14,    64,    16,    36,    40,    70,    36,    36,    44,
599         5,    44,    44,    40,    37,    49,    50,    51,    82,    53,        72,    73,     3,    37,    35,    37,     3,    44,    44,    37,
600        35,    43,     2,    87,    88,    38,    95,    -1,    57,    93,        84,    38,     5,    43,    35,    89,    90,    40,     2,    38,
601        -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,   102,     6,        97,    95,    -1,    58,    98,    -1,    -1,    -1,    -1,    -1,
602         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,       104,     6,     7,     8,     9,    10,    11,    12,    13,    14,
603        -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,        15,    16,    -1,    -1,    -1,    20,    21,    22,    23,    24,
604        27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
605        -1,    -1,    -1,    -1,    41,    42        -1,    -1,    -1,    -1,    -1,    -1,    41,    42
606  };  };
607    
608  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 613  static const unsigned char yystos[] = Line 614  static const unsigned char yystos[] =
614        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
615        41,    42,    48,    49,    52,    55,    56,    54,    53,    35,        41,    42,    48,    49,    52,    55,    56,    54,    53,    35,
616        50,    51,    44,     5,     3,     4,    40,    67,    69,    36,        50,    51,    44,     5,     3,     4,    40,    67,    69,    36,
617        36,    36,     3,    70,    70,    40,    49,    61,    62,    63,        36,    36,     3,    70,    70,     1,    40,    49,    61,    62,
618        37,    72,    35,    57,    35,    40,    59,    60,    60,    58,        63,    37,    72,    35,    57,    35,    40,    59,    60,    60,
619        67,    44,    44,    70,    70,    70,    70,    38,    37,    41,        58,    67,    44,    44,    70,    70,    70,    70,    37,    38,
620        62,    71,    58,     5,    69,    59,    67,    58,    58,    64,        37,    41,    62,    71,    58,     5,    69,    59,    67,    58,
621        43,    69,    65,    66,    37,    39,    17,    18,    19,    44,        58,    64,    43,    69,    65,    66,    37,    39,    17,    18,
622        67,    68,    66,    67,     5,    35        19,    44,    67,    68,    66,    67,     5,    35
623  };  };
624    
625  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1134  yyreduce: Line 1135  yyreduce:
1135    switch (yyn)    switch (yyn)
1136      {      {
1137          case 2:          case 2:
1138  #line 160 "parse-gram.y"  #line 161 "parse-gram.y"
1139      {      {
1140        yycontrol->errcode = 0;        yycontrol->errcode = 0;
1141        epilogue_set (yyvsp[0].string, yylsp[0]);        epilogue_set (yyvsp[0].string, yylsp[0]);
# Line 1142  yyreduce: Line 1143  yyreduce:
1143      break;      break;
1144    
1145    case 6:    case 6:
1146  #line 178 "parse-gram.y"  #line 179 "parse-gram.y"
1147      { prologue_augment (yyvsp[0].string, yylsp[0]); }      { prologue_augment (yyvsp[0].string, yylsp[0]); }
1148      break;      break;
1149    
1150    case 7:    case 7:
1151  #line 179 "parse-gram.y"  #line 180 "parse-gram.y"
1152      { debug_flag = 1; }      { debug_flag = 1; }
1153      break;      break;
1154    
1155    case 8:    case 8:
1156  #line 180 "parse-gram.y"  #line 181 "parse-gram.y"
1157      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }      { muscle_insert (yyvsp[-1].string, yyvsp[0].string); }
1158      break;      break;
1159    
1160    case 9:    case 9:
1161  #line 181 "parse-gram.y"  #line 182 "parse-gram.y"
1162      { defines_flag = 1; }      { defines_flag = 1; }
1163      break;      break;
1164    
1165    case 10:    case 10:
1166  #line 182 "parse-gram.y"  #line 183 "parse-gram.y"
1167      { error_verbose = 1; }      { error_verbose = 1; }
1168      break;      break;
1169    
1170    case 11:    case 11:
1171  #line 183 "parse-gram.y"  #line 184 "parse-gram.y"
1172      { expected_conflicts = yyvsp[0].integer; }      { expected_conflicts = yyvsp[0].integer; }
1173      break;      break;
1174    
1175    case 12:    case 12:
1176  #line 184 "parse-gram.y"  #line 185 "parse-gram.y"
1177      { spec_file_prefix = yyvsp[0].string; }      { spec_file_prefix = yyvsp[0].string; }
1178      break;      break;
1179    
1180    case 13:    case 13:
1181  #line 185 "parse-gram.y"  #line 186 "parse-gram.y"
1182      { locations_flag = 1; }      { locations_flag = 1; }
1183      break;      break;
1184    
1185    case 14:    case 14:
1186  #line 186 "parse-gram.y"  #line 187 "parse-gram.y"
1187      { spec_name_prefix = yyvsp[0].string; }      { spec_name_prefix = yyvsp[0].string; }
1188      break;      break;
1189    
1190    case 15:    case 15:
1191  #line 187 "parse-gram.y"  #line 188 "parse-gram.y"
1192      { no_lines_flag = 1; }      { no_lines_flag = 1; }
1193      break;      break;
1194    
1195    case 16:    case 16:
1196  #line 188 "parse-gram.y"  #line 189 "parse-gram.y"
1197      { spec_outfile = yyvsp[0].string; }      { spec_outfile = yyvsp[0].string; }
1198      break;      break;
1199    
1200    case 17:    case 17:
1201  #line 189 "parse-gram.y"  #line 190 "parse-gram.y"
1202      { pure_parser = 1; }      { pure_parser = 1; }
1203      break;      break;
1204    
1205    case 18:    case 18:
1206  #line 190 "parse-gram.y"  #line 191 "parse-gram.y"
1207      { glr_parser = 1; }      { glr_parser = 1; }
1208      break;      break;
1209    
1210    case 19:    case 19:
1211  #line 191 "parse-gram.y"  #line 192 "parse-gram.y"
1212      { skeleton = yyvsp[0].string; }      { skeleton = yyvsp[0].string; }
1213      break;      break;
1214    
1215    case 20:    case 20:
1216  #line 192 "parse-gram.y"  #line 193 "parse-gram.y"
1217      { token_table_flag = 1; }      { token_table_flag = 1; }
1218      break;      break;
1219    
1220    case 21:    case 21:
1221  #line 193 "parse-gram.y"  #line 194 "parse-gram.y"
1222      { report_flag = 1; }      { report_flag = 1; }
1223      break;      break;
1224    
1225    case 22:    case 22:
1226  #line 194 "parse-gram.y"  #line 195 "parse-gram.y"
1227      { yacc_flag = 1; }      { yacc_flag = 1; }
1228      break;      break;
1229    
1230    case 25:    case 25:
1231  #line 201 "parse-gram.y"  #line 202 "parse-gram.y"
1232      {      {
1233        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);        grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
1234      }      }
1235      break;      break;
1236    
1237    case 26:    case 26:
1238  #line 205 "parse-gram.y"  #line 206 "parse-gram.y"
1239      {      {
1240        typed = 1;        typed = 1;
1241        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);        MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
# Line 1243  yyreduce: Line 1244  yyreduce:
1244      break;      break;
1245    
1246    case 27:    case 27:
1247  #line 211 "parse-gram.y"  #line 212 "parse-gram.y"
1248      { current_braced_code = destructor_braced_code; }      { current_braced_code = destructor_braced_code; }
1249      break;      break;
1250    
1251    case 28:    case 28:
1252  #line 213 "parse-gram.y"  #line 214 "parse-gram.y"
1253      {      {
1254        symbol_list_t *list;        symbol_list_t *list;
1255        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1259  yyreduce: Line 1260  yyreduce:
1260      break;      break;
1261    
1262    case 29:    case 29:
1263  #line 221 "parse-gram.y"  #line 222 "parse-gram.y"
1264      { current_braced_code = printer_braced_code; }      { current_braced_code = printer_braced_code; }
1265      break;      break;
1266    
1267    case 30:    case 30:
1268  #line 223 "parse-gram.y"  #line 224 "parse-gram.y"
1269      {      {
1270        symbol_list_t *list;        symbol_list_t *list;
1271        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1275  yyreduce: Line 1276  yyreduce:
1276      break;      break;
1277    
1278    case 31:    case 31:
1279  #line 233 "parse-gram.y"  #line 234 "parse-gram.y"
1280      { current_class = nterm_sym; }      { current_class = nterm_sym; }
1281      break;      break;
1282    
1283    case 32:    case 32:
1284  #line 234 "parse-gram.y"  #line 235 "parse-gram.y"
1285      {      {
1286        current_class = unknown_sym;        current_class = unknown_sym;
1287        current_type = NULL;        current_type = NULL;
# Line 1288  yyreduce: Line 1289  yyreduce:
1289      break;      break;
1290    
1291    case 33:    case 33:
1292  #line 238 "parse-gram.y"  #line 239 "parse-gram.y"
1293      { current_class = token_sym; }      { current_class = token_sym; }
1294      break;      break;
1295    
1296    case 34:    case 34:
1297  #line 239 "parse-gram.y"  #line 240 "parse-gram.y"
1298      {      {
1299        current_class = unknown_sym;        current_class = unknown_sym;
1300        current_type = NULL;        current_type = NULL;
# Line 1301  yyreduce: Line 1302  yyreduce:
1302      break;      break;
1303    
1304    case 35:    case 35:
1305  #line 244 "parse-gram.y"  #line 245 "parse-gram.y"
1306      {      {
1307        symbol_list_t *list;        symbol_list_t *list;
1308        for (list = yyvsp[0].list; list; list = list->next)        for (list = yyvsp[0].list; list; list = list->next)
# Line 1311  yyreduce: Line 1312  yyreduce:
1312      break;      break;
1313    
1314    case 36:    case 36:
1315  #line 254 "parse-gram.y"  #line 255 "parse-gram.y"
1316      {      {
1317        symbol_list_t *list;        symbol_list_t *list;
1318        ++current_prec;        ++current_prec;
# Line 1326  yyreduce: Line 1327  yyreduce:
1327      break;      break;
1328    
1329    case 37:    case 37:
1330  #line 268 "parse-gram.y"  #line 269 "parse-gram.y"
1331      { yyval.assoc = left_assoc; }      { yyval.assoc = left_assoc; }
1332      break;      break;
1333    
1334    case 38:    case 38:
1335  #line 269 "parse-gram.y"  #line 270 "parse-gram.y"
1336      { yyval.assoc = right_assoc; }      { yyval.assoc = right_assoc; }
1337      break;      break;
1338    
1339    case 39:    case 39:
1340  #line 270 "parse-gram.y"  #line 271 "parse-gram.y"
1341      { yyval.assoc = non_assoc; }      { yyval.assoc = non_assoc; }
1342      break;      break;
1343    
1344    case 40:    case 40:
1345  #line 274 "parse-gram.y"  #line 275 "parse-gram.y"
1346      { current_type = NULL;}      { current_type = NULL;}
1347      break;      break;
1348    
1349    case 41:    case 41:
1350  #line 275 "parse-gram.y"  #line 276 "parse-gram.y"
1351      { current_type = yyvsp[0].string; }      { current_type = yyvsp[0].string; }
1352      break;      break;
1353    
1354    case 42:    case 42:
1355  #line 281 "parse-gram.y"  #line 282 "parse-gram.y"
1356      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }      { yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); }
1357      break;      break;
1358    
1359    case 43:    case 43:
1360  #line 282 "parse-gram.y"  #line 283 "parse-gram.y"
1361      { 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]); }
1362      break;      break;
1363    
1364    case 44:    case 44:
1365  #line 288 "parse-gram.y"  #line 289 "parse-gram.y"
1366      {      {
1367         current_type = yyvsp[0].string;         current_type = yyvsp[0].string;
1368       }       }
1369      break;      break;
1370    
1371    case 45:    case 45:
1372  #line 292 "parse-gram.y"  #line 293 "parse-gram.y"
1373      {      {
1374         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);         symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]);
1375         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);         symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]);
# Line 1376  yyreduce: Line 1377  yyreduce:
1377      break;      break;
1378    
1379    case 46:    case 46:
1380  #line 297 "parse-gram.y"  #line 298 "parse-gram.y"
1381      {      {
1382        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1383        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1385  yyreduce: Line 1386  yyreduce:
1386      break;      break;
1387    
1388    case 47:    case 47:
1389  #line 303 "parse-gram.y"  #line 304 "parse-gram.y"
1390      {      {
1391        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);        symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]);
1392        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);        symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]);
# Line 1394  yyreduce: Line 1395  yyreduce:
1395      break;      break;
1396    
1397    case 48:    case 48:
1398  #line 309 "parse-gram.y"  #line 310 "parse-gram.y"
1399      {      {
1400        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);        symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]);
1401        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);        symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]);
# Line 1404  yyreduce: Line 1405  yyreduce:
1405      break;      break;
1406    
1407    case 49:    case 49:
1408  #line 320 "parse-gram.y"  #line 321 "parse-gram.y"
1409      {;}      {;}
1410      break;      break;
1411    
1412    case 50:    case 50:
1413  #line 322 "parse-gram.y"  #line 323 "parse-gram.y"
1414      {;}      {;}
1415      break;      break;
1416    
1417      case 54:
1418    #line 342 "parse-gram.y"
1419        {
1420          if (yacc_flag)
1421            complain_at (yyloc, _("POSIX forbids declarations in the grammar"));
1422        }
1423        break;
1424    
1425    case 55:    case 55:
1426  #line 344 "parse-gram.y"  #line 347 "parse-gram.y"
1427      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }      {
1428          yyerrok;
1429        }
1430      break;      break;
1431    
1432    case 56:    case 56:
1433  #line 345 "parse-gram.y"  #line 353 "parse-gram.y"
1434      {;}      { current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }
1435      break;      break;
1436    
1437    case 57:    case 57:
1438  #line 349 "parse-gram.y"  #line 354 "parse-gram.y"
1439      { grammar_rule_end (yylsp[0]); }      {;}
1440      break;      break;
1441    
1442    case 58:    case 58:
1443  #line 350 "parse-gram.y"  #line 358 "parse-gram.y"
1444      { grammar_rule_end (yylsp[0]); }      { grammar_rule_end (yylsp[0]); }
1445      break;      break;
1446    
1447    case 59:    case 59:
1448  #line 355 "parse-gram.y"  #line 359 "parse-gram.y"
1449      { grammar_rule_begin (current_lhs, current_lhs_location); }      { grammar_rule_end (yylsp[0]); }
1450      break;      break;
1451    
1452    case 60:    case 60:
1453  #line 357 "parse-gram.y"  #line 364 "parse-gram.y"
1454      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }      { grammar_rule_begin (current_lhs, current_lhs_location); }
1455      break;      break;
1456    
1457    case 61:    case 61:
1458  #line 359 "parse-gram.y"  #line 366 "parse-gram.y"
1459      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
1460      break;      break;
1461    
1462    case 62:    case 62:
1463  #line 361 "parse-gram.y"  #line 368 "parse-gram.y"
1464      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }      { grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }
1465      break;      break;
1466    
1467    case 63:    case 63:
1468  #line 363 "parse-gram.y"  #line 370 "parse-gram.y"
1469      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }      { grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); }
1470      break;      break;
1471    
1472    case 64:    case 64:
1473  #line 365 "parse-gram.y"  #line 372 "parse-gram.y"
1474      { grammar_current_rule_merge_set (yyvsp[0].string, yylsp[0]); }      { grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); }
1475      break;      break;
1476    
1477    case 65:    case 65:
1478  #line 369 "parse-gram.y"  #line 374 "parse-gram.y"
1479      { yyval.symbol = yyvsp[0].symbol; }      { grammar_current_rule_merge_set (yyvsp[0].string, yylsp[0]); }
1480      break;      break;
1481    
1482    case 66:    case 66:
1483  #line 370 "parse-gram.y"  #line 378 "parse-gram.y"
1484      { yyval.symbol = yyvsp[0].symbol; }      { yyval.symbol = yyvsp[0].symbol; }
1485      break;      break;
1486    
1487    case 67:    case 67:
1488  #line 371 "parse-gram.y"  #line 379 "parse-gram.y"
1489      { yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); }      { yyval.symbol = yyvsp[0].symbol; }
1490      break;      break;
1491    
1492    case 68:    case 68:
1493  #line 376 "parse-gram.y"  #line 380 "parse-gram.y"
1494      { yyval.string = yyvsp[0].string; }      { yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); }
1495      break;      break;
1496    
1497    case 69:    case 69:
1498  #line 382 "parse-gram.y"  #line 385 "parse-gram.y"
1499        { yyval.string = yyvsp[0].string; }
1500        break;
1501    
1502      case 70:
1503    #line 391 "parse-gram.y"
1504      {      {
1505        yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]);        yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]);
1506        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);        symbol_class_set (yyval.symbol, token_sym, yylsp[0]);
1507      }      }
1508      break;      break;
1509    
1510    case 70:    case 71:
1511  #line 391 "parse-gram.y"  #line 400 "parse-gram.y"
1512      {      {
1513        yyval.string = yyvsp[0].string + 1;        yyval.string = yyvsp[0].string + 1;
1514        yyval.string[strlen (yyval.string) - 1] = '\0';        yyval.string[strlen (yyval.string) - 1] = '\0';
1515      }      }
1516      break;      break;
1517    
1518    case 71:    case 72:
1519  #line 399 "parse-gram.y"  #line 408 "parse-gram.y"
1520      {      {
1521        yyval.string = xstrdup ("");        yyval.string = xstrdup ("");
1522      }      }
1523      break;      break;
1524    
1525    case 72:    case 73:
1526  #line 403 "parse-gram.y"  #line 412 "parse-gram.y"
1527      {      {
1528        yyval.string = yyvsp[0].string;        yyval.string = yyvsp[0].string;
1529      }      }
# Line 1516  yyreduce: Line 1532  yyreduce:
1532    
1533      }      }
1534    
1535  /* Line 955 of /home/lrde/prof/akim/src/bison/data/yacc.c.  */  /* Line 955 of /usr/local/share/bison/yacc.c.  */
1536  #line 1521 "parse-gram.c"  #line 1537 "parse-gram.c"
1537    
1538    yyvsp -= yylen;    yyvsp -= yylen;
1539    yyssp -= yylen;    yyssp -= yylen;
# Line 1788  yysymprint (FILE* yyout, int yytype, Line 1804  yysymprint (FILE* yyout, int yytype,
1804  }  }
1805  #endif /* YYDEBUG. */  #endif /* YYDEBUG. */
1806    
1807  #line 412 "parse-gram.y"  #line 421 "parse-gram.y"
1808    
1809  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
1810  | When debugging the parser, display tokens' locations and values.  |  | When debugging the parser, display tokens' locations and values.  |
# Line 1833  void Line 1849  void
1849  gram_error (gram_control_t *control ATTRIBUTE_UNUSED,  gram_error (gram_control_t *control ATTRIBUTE_UNUSED,
1850              location_t *yylloc, const char *msg)              location_t *yylloc, const char *msg)
1851  {  {
1852    LOCATION_PRINT (stderr, *yylloc);    complain_at (*yylloc, "%s", msg);
   fprintf (stderr, ": %s\n", msg);  
1853  }  }
1854    

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

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