From: Akim Demaille Date: Mon, 8 Apr 2002 12:31:15 +0000 (+0000) Subject: * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/. X-Git-Tag: BISON-1_49a~51 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/06446ccf943afdcfcff4c62060597cbf434892f3 * 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__. --- diff --git a/ChangeLog b/ChangeLog index b6aa910d..d4a4b6d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2002-04-08 Akim Demaille + + * 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 * src/gram.h (item_number_t): New, the type of item numbers in diff --git a/data/bison.c++ b/data/bison.c++ index f2ccd3dd..d5f22ce8 100644 --- a/data/bison.c++ +++ b/data/bison.c++ @@ -137,6 +137,7 @@ yystype; # define YYSTYPE yystype #endif +#line __oline__ "__ofile__" #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ Current.last_line = Rhs[[N]].last_line; \ @@ -167,8 +168,8 @@ namespace yy 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; @@ -182,7 +183,7 @@ namespace yy 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; @@ -236,7 +237,7 @@ namespace yy /* More tables, for debugging. */ #if YYDEBUG - static const short rhs_[[]]; + static const RhsNumberType rhs_[[]]; static const short prhs_[[]]; static const short rline_[[]]; #endif @@ -459,6 +460,9 @@ yy::b4_name::parse () } } +/* Line __line__ of __file__. */ +#line __oline__ "__ofile__" + state_stack_.pop (len_); semantic_stack_.pop (len_); location_stack_.pop (len_); @@ -686,7 +690,7 @@ const yy::b4_name::name_[[]] = #if YYDEBUG /* YYRHS -- A `-1'-separated list of the rules' RHS. */ -const RhsNumberType +const yy::b4_name::RhsNumberType yy::b4_name::rhs_[[]] = { b4_rhs @@ -709,7 +713,7 @@ yy::b4_name::rline_[[]] = #endif /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -TokenNumberType +yy::b4_name::TokenNumberType yy::b4_name::translate_ (int token) { static diff --git a/data/bison.simple b/data/bison.simple index 255a3865..4de66f50 100644 --- a/data/bison.simple +++ b/data/bison.simple @@ -149,7 +149,7 @@ typedef struct yyltype #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 @@ -936,7 +936,7 @@ yyreduce: } /* Line __line__ of __file__. */ -#line __oline__ +#line __oline__ "__ofile__" [ yyvsp -= yylen; yyssp -= yylen; diff --git a/src/scan-skel.l b/src/scan-skel.l index 82f9ed1a..9a01ffef 100644 --- a/src/scan-skel.l +++ b/src/scan-skel.l @@ -26,16 +26,20 @@ #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;