]> git.saurik.com Git - bison.git/blobdiff - src/bison.simple
* configure.in: Check the protos of strchr ans strspn.
[bison.git] / src / bison.simple
index a55a66bd24a6b9a59f045c28d0ef5f3616f8825e..593eadf34b44b1f8bc29470bf19ceb80200f218a 100644 (file)
 #endif
 
 /* Enabling verbose error messages.  */
-#undef YYERROR_VERBOSE
-#define YYERROR_VERBOSE %%error-verbose
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE %%error-verbose
+#endif
 
 /* If name_prefix is specify substitute the variables and functions
    names.  */
@@ -76,24 +80,18 @@ typedef struct yyltype
 #endif
 
 /* Copy the user declarations.  */
-#line %%input-line "%%filename"
 %%prologue
 
-#line %%line "%%skeleton"
+/* Line %%skeleton-line of %%skeleton.  */
+#line %%line "%%parser-file-name"
 
 #include <stdio.h>
 
-#ifndef __cplusplus
-# ifndef __STDC__
-#  define const
-# endif
-#endif
-
 /* All symbols defined below should begin with yy or YY, to avoid
    infringing on user name space.  This should be done even for local
    variables, as they might otherwise be expanded by user macros.
    There are some unavoidable exceptions within include files to
-   define necessary library symbols; they are noted "INFRINGES ON
+   define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
@@ -130,11 +128,18 @@ typedef struct yyltype
    /* Pacify GCC's `empty if-body' warning. */
 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 # else
-#  define YYSTACK_ALLOC malloc
-#  define YYSTACK_FREE(Ptr) free (Ptr)
-#  if defined (__STDC__) || defined (__cplusplus)
-#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   define YYSIZE_T size_t
+#  ifdef __cplusplus
+#   include <cstdlib> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T std::size_t
+#   define YYSTACK_ALLOC std::malloc
+#   define YYSTACK_FREE std::free
+#  else
+#   ifdef __STDC__
+#    include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#    define YYSIZE_T size_t
+#   endif
+#   define YYSTACK_ALLOC malloc
+#   define YYSTACK_FREE free
 #  endif
 # endif
 
@@ -185,32 +190,39 @@ union yyalloc
 /* Tokens.  */
 %%tokendef
 
-#define YYFINAL                %%final
-#define YYFLAG         %%flag
-#define YYNTBASE       %%ntbase
-#define YYLAST         %%last
-
-#define YYNTOKENS      %%ntokens
-#define YYNNTS         %%nnts
-#define YYNRULES       %%nrules
-#define YYNSTATES      %%nstates
-#define YYMAXUTOK      %%maxtok
-
-/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX.  */
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  %%final
+#define YYFLAG  %%flag
+#define YYLAST   %%last
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  %%ntokens
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  %%nnts
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  %%nrules
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  %%nstates
+#define YYMAXUTOK  %%maxtok
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYTRANSLATE(x) ((unsigned)(x) <= %%maxtok ? yytranslate[x] : %%nsym)
 
-/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX.  */
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 static const char yytranslate[] =
 {
   %%translate
 };
 
 #if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
 static const short yyprhs[] =
 {
   %%prhs
 };
 
+/* YYRHS -- A `0'-separated list of the rules' RHS. */
 static const short yyrhs[] =
 {
   %%rhs
@@ -223,8 +235,9 @@ static const short yyrline[] =
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE
-/* YYTNME[TOKEN_NUM] -- String name of the token TOKEN_NUM.  */
+#if (YYDEBUG) || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
   %%tname
@@ -257,21 +270,28 @@ static const short yydefact[] =
   %%defact
 };
 
+/* YYPGOTO[NTERM-NUM]. */
 static const short yydefgoto[] =
 {
   %%defgoto
 };
 
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
 static const short yypact[] =
 {
   %%pact
 };
 
+/* YYPGOTO[NTERM-NUM].  */
 static const short yypgoto[] =
 {
   %%pgoto
 };
 
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.  */
 static const short yytable[] =
 {
   %%table
@@ -289,9 +309,16 @@ static const short yycheck[] =
 #if ! defined (YYSIZE_T) && defined (size_t)
 # define YYSIZE_T size_t
 #endif
-#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
+#if ! defined (YYSIZE_T)
+# ifdef __cplusplus
+#  include <cstddef> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T std::size_t
+# else
+#  ifdef __STDC__
+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+# endif
 #endif
 #if ! defined (YYSIZE_T)
 # define YYSIZE_T unsigned int
@@ -319,14 +346,14 @@ do                                                                \
   if (yychar == YYEMPTY && yylen == 1)                         \
     {                                                          \
       yychar = (Token);                                                \
-      yylval = (Value);                                        \
+      yylval = (Value);                                                \
       yychar1 = YYTRANSLATE (yychar);                          \
       YYPOPSTACK;                                              \
       goto yybackup;                                           \
     }                                                          \
   else                                                         \
     {                                                          \
-      yyerror ("syntax error: cannot back up");                \
+      yyerror ("syntax error: cannot back up");                        \
       YYERROR;                                                 \
     }                                                          \
 while (0)
@@ -369,11 +396,23 @@ while (0)
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
-# include <stdio.h>
+
+# ifndef YYFPRINTF
+#  ifdef __cplusplus
+#   include <cstdio.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYFPRINTF std::fprintf
+#   define YYSTDERR std::stderr
+#  else
+#   include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYFPRINTF fprintf
+#   define YYSTDERR stderr
+#  endif
+# endif
+
 # define YYDPRINTF(Args)                       \
 do {                                           \
   if (yydebug)                                 \
-    fprintf Args;                              \
+    YYFPRINTF Args;                            \
 } while (0)
 /* Nonzero means print parse trace. [The following comment makes no
    sense to me.  Could someone clarify it?  --akim] Since this is
@@ -488,8 +527,6 @@ yystpcpy (yydest, yysrc)
 
 \f
 
-#line %%line "%%skeleton"
-
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
    It should actually point to an object.
@@ -609,7 +646,7 @@ yyparse (YYPARSE_PARAM_ARG)
      rule.  */
   int yylen;
 
-  YYDPRINTF ((stderr, "Starting parse\n"));
+  YYDPRINTF ((YYSTDERR, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -705,14 +742,14 @@ yyparse (YYPARSE_PARAM_ARG)
       yylsp = yyls + yysize - 1;
 #endif
 
-      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+      YYDPRINTF ((YYSTDERR, "Stack size increased to %lu\n",
                  (unsigned long int) yystacksize));
 
       if (yyssp >= yyss + yystacksize - 1)
        YYABORT;
     }
 
-  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+  YYDPRINTF ((YYSTDERR, "Entering state %d\n", yystate));
 
   goto yybackup;
 
@@ -738,7 +775,7 @@ yybackup:
 
   if (yychar == YYEMPTY)
     {
-      YYDPRINTF ((stderr, "Reading a token: "));
+      YYDPRINTF ((YYSTDERR, "Reading a token: "));
       yychar = YYLEX;
     }
 
@@ -749,7 +786,7 @@ yybackup:
       yychar1 = 0;
       yychar = YYEOF;          /* Don't call YYLEX any more.  */
 
-      YYDPRINTF ((stderr, "Now at end of input.\n"));
+      YYDPRINTF ((YYSTDERR, "Now at end of input.\n"));
     }
   else
     {
@@ -760,13 +797,14 @@ yybackup:
        which are defined only if `YYDEBUG' is set.  */
       if (yydebug)
        {
-         fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
+         YYFPRINTF (YYSTDERR, "Next token is %d (%s",
+                    yychar, yytname[yychar1]);
          /* Give the individual parser a way to print the precise
             meaning of a token, for further debugging info.  */
 # ifdef YYPRINT
-         YYPRINT (stderr, yychar, yylval);
+         YYPRINT (YYSTDERR, yychar, yylval);
 # endif
-         fprintf (stderr, ")\n");
+         YYFPRINTF (YYSTDERR, ")\n");
        }
 #endif
     }
@@ -798,7 +836,8 @@ yybackup:
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-  YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]));
+  YYDPRINTF ((YYSTDERR, "Shifting token %d (%s), ",
+             yychar, yytname[yychar1]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -859,20 +898,22 @@ yyreduce:
     {
       int yyi;
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-              yyn, yyrline[yyn]);
+      YYFPRINTF (YYSTDERR, "Reducing via rule %d (line %d), ",
+                yyn, yyrline[yyn]);
 
       /* Print the symbols being reduced, and their result.  */
       for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
-       fprintf (stderr, "%s ", yytname[yyrhs[yyi]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+       YYFPRINTF (YYSTDERR, "%s ", yytname[yyrhs[yyi]]);
+      YYFPRINTF (YYSTDERR, " -> %s\n", yytname[yyr1[yyn]]);
     }
 #endif
   switch (yyn)
     {
-      %%action
+%%actions
     }
-#line %%line "%%skeleton"
+
+/* Line %%skeleton-line of %%skeleton.  */
+#line %%line "%%parser-file-name"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -884,10 +925,10 @@ yyreduce:
   if (yydebug)
     {
       short *yyssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
+      YYFPRINTF (YYSTDERR, "state stack now");
       while (yyssp1 != yyssp)
-       fprintf (stderr, " %d", *++yyssp1);
-      fprintf (stderr, "\n");
+       YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
+      YYFPRINTF (YYSTDERR, "\n");
     }
 #endif
 
@@ -902,11 +943,11 @@ yyreduce:
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
@@ -965,7 +1006,7 @@ yyerrlab:
            yyerror ("parse error; also virtual memory exhausted");
         }
       else
-#endif /* defined (YYERROR_VERBOSE) */
+#endif /* YYERROR_VERBOSE */
         yyerror ("parse error");
     }
   goto yyerrlab1;
@@ -983,7 +1024,7 @@ yyerrlab1:
       /* Return failure if at end of input.  */
       if (yychar == YYEOF)
        YYABORT;
-      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
+      YYDPRINTF ((YYSTDERR, "Discarding token %d (%s).\n",
                  yychar, yytname[yychar1]));
       yychar = YYEMPTY;
     }
@@ -1029,10 +1070,10 @@ yyerrpop:
   if (yydebug)
     {
       short *yyssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
+      YYFPRINTF (YYSTDERR, "Error: state stack now");
       while (yyssp1 != yyssp)
-       fprintf (stderr, " %d", *++yyssp1);
-      fprintf (stderr, "\n");
+       YYFPRINTF (YYSTDERR, " %d", *++yyssp1);
+      YYFPRINTF (YYSTDERR, "\n");
     }
 #endif
 
@@ -1062,7 +1103,7 @@ yyerrhandle:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  YYDPRINTF ((stderr, "Shifting error token, "));
+  YYDPRINTF ((YYSTDERR, "Shifting error token, "));
 
   *++yyvsp = yylval;
 #if YYLSP_NEEDED
@@ -1103,5 +1144,4 @@ yyreturn:
   return yyresult;
 }
 
-#line %%input-line "%%filename"
 %%epilogue