+2002-04-08 Akim Demaille <akim@epita.fr>
+
+ * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
+ Adding #line.
+ Remove the duplicate `typedefs'.
+ (RhsNumberType): Fix the declaration and various other typos.
+ Use __ofile__.
+ * data/bison.simple: Use __ofile__.
+ * src/scan-skel.l: Handle __ofile__.
+
2002-04-08 Akim Demaille <akim@epita.fr>
* src/gram.h (item_number_t): New, the type of item numbers in
# define YYSTYPE yystype
#endif
+#line __oline__ "__ofile__"
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
Current.last_line = Rhs[[N]].last_line; \
template < >
struct Traits< b4_name >
{
- typedef typedef b4_uint_type(b4_token_number_max) TokenNumberType;
- typedef typedef b4_sint_type(b4_item_number_max) RhsNumberType;
+ typedef b4_uint_type(b4_token_number_max) TokenNumberType;
+ typedef b4_sint_type(b4_rhs_number_max) RhsNumberType;
typedef int StateType;
typedef yystype SemanticType;
typedef b4_ltype LocationType;
public:
typedef Traits< b4_name >::TokenNumberType TokenNumberType;
- typedef Traits< b4_name >::RhsNumberType TokenNumberType;
+ typedef Traits< b4_name >::RhsNumberType RhsNumberType;
typedef Traits< b4_name >::StateType StateType;
typedef Traits< b4_name >::SemanticType SemanticType;
typedef Traits< b4_name >::LocationType LocationType;
/* More tables, for debugging. */
#if YYDEBUG
- static const short rhs_[[]];
+ static const RhsNumberType rhs_[[]];
static const short prhs_[[]];
static const short rline_[[]];
#endif
}
}
+/* Line __line__ of __file__. */
+#line __oline__ "__ofile__"
+
state_stack_.pop (len_);
semantic_stack_.pop (len_);
location_stack_.pop (len_);
#if YYDEBUG
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-const RhsNumberType
+const yy::b4_name::RhsNumberType
yy::b4_name::rhs_[[]] =
{
b4_rhs
#endif
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-TokenNumberType
+yy::b4_name::TokenNumberType
yy::b4_name::translate_ (int token)
{
static
#endif
/* Line __line__ of __file__. */
-#line __oline__
+#line __oline__ "__ofile__"
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
}
/* Line __line__ of __file__. */
-#line __oline__
+#line __oline__ "__ofile__"
\f
[ yyvsp -= yylen;
yyssp -= yylen;
#include "files.h"
int skel_lex PARAMS ((void));
static int yylineno = 1;
+static char *yyoutname = NULL;
%}
%%
/* This is an approximation, but we don't need more. */
^"#output \""[^\"]+\"\n {
yytext[yyleng - 2] = '\0';
- skel_out = xfopen (yytext + strlen ("#output \""), "w");
+ XFREE (yyoutname);
+ yyoutname = xstrdup (yytext + strlen ("#output \""));
+ yyout = xfopen (yyoutname, "w");
yylineno = 1;
}
"__oline__" fprintf (yyout, "%d", yylineno);
+"__ofile__" fprintf (yyout, "%s", yyoutname);
[^_\n]+ ECHO;
\n+ yylineno += yyleng; ECHO;
. ECHO;