Only in bison-hacked/config: Makefile Only in bison-hacked/: config.h Only in bison-hacked/: config.log Only in bison-hacked/: config.status diff -aur bison-2.0/data/lalr1.cc bison-hacked/data/lalr1.cc --- bison-2.0/data/lalr1.cc 2004-12-25 21:35:20.000000000 -0800 +++ bison-hacked/data/lalr1.cc 2005-09-06 17:15:04.000000000 -0700 @@ -413,7 +413,7 @@ #define yylex b4_prefix[]lex]) m4_if(b4_defines_flag, 0, [], [ -#include @output_header_name@])[ +#include @output_header_name_no_path@])[ /* A pseudo ostream that takes yydebug_ into account. */ # define YYCDEBUG \ @@ -1048,7 +1048,7 @@ ]b4_epilogue dnl -@output stack.hh +@output @lalr_stack_name@ b4_copyright([stack handling for Bison C++ parsers], [2002, 2003, 2004])[ #ifndef BISON_STACK_HH @@ -1147,7 +1147,7 @@ #endif // not BISON_STACK_HH] dnl -@output position.hh +@output @lalr_position_name@ b4_copyright([Position class for Bison C++ parsers], [2002, 2003, 2004])[ /** @@ -1260,7 +1260,7 @@ } #endif // not BISON_POSITION_HH] -@output location.hh +@output @lalr_location_name@ b4_copyright([Location class for Bison C++ parsers], [2002, 2003, 2004])[ /** Only in bison-hacked/data: Makefile Only in bison-hacked/doc: Makefile Only in bison-hacked/lib: .deps Only in bison-hacked/lib: Makefile Only in bison-hacked/: Makefile Only in bison-hacked/po: Makefile Only in bison-hacked/po: Makefile.in Only in bison-hacked/po: POTFILES Only in bison-hacked/src: .deps diff -aur bison-2.0/src/files.c bison-hacked/src/files.c --- bison-2.0/src/files.c 2004-04-28 13:00:56.000000000 -0700 +++ bison-hacked/src/files.c 2005-09-06 17:22:28.000000000 -0700 @@ -54,6 +54,10 @@ char *spec_verbose_file = NULL; /* for --verbose. */ char *spec_graph_file = NULL; /* for -g. */ char *spec_defines_file = NULL; /* for --defines. */ +char *spec_defines_file_no_path = NULL, + *lalr_stack_file = NULL, + *lalr_position_file = NULL, + *lalr_location_file = NULL; char *parser_file_name = NULL; uniqstr grammar_file = NULL; @@ -295,7 +299,7 @@ void compute_output_file_names (void) { - char const *name[4]; + char const *name[16]; int i; int j; int names = 0; @@ -314,8 +318,19 @@ if (defines_flag) { if (! spec_defines_file) - spec_defines_file = concat2 (full_base_name, header_extension); + spec_defines_file = concat2 (full_base_name, header_extension); name[names++] = spec_defines_file; + + spec_defines_file_no_path = concat2(base_name(short_base_name), ".hpp"); + + lalr_stack_file = concat2(full_base_name, "_stack.hh"); + name[names++] = lalr_stack_file; + + lalr_position_file = concat2(full_base_name, "_position.hh"); + name[names++] = lalr_position_file; + + lalr_location_file = concat2(full_base_name, "_location.hh"); + name[names++] = lalr_location_file; } if (graph_flag) @@ -336,3 +351,4 @@ if (strcmp (name[i], name[j]) == 0) warn (_("conflicting outputs to file %s"), quote (name[i])); } + diff -aur bison-2.0/src/files.h bison-hacked/src/files.h --- bison-2.0/src/files.h 2002-12-10 22:29:17.000000000 -0800 +++ bison-hacked/src/files.h 2005-09-06 16:52:23.000000000 -0700 @@ -43,6 +43,7 @@ /* File name specified with --defines. */ extern char *spec_defines_file; +extern char *spec_defines_file_no_path, *lalr_stack_file, *lalr_position_file, *lalr_location_file; /* Read grammar specifications. */ extern FILE *finput; Only in bison-hacked/src: Makefile diff -aur bison-2.0/src/scan-skel.l bison-hacked/src/scan-skel.l --- bison-2.0/src/scan-skel.l 2004-12-10 21:03:55.000000000 -0800 +++ bison-hacked/src/scan-skel.l 2005-09-06 17:16:20.000000000 -0700 @@ -49,14 +49,20 @@ char const *filename = yytext + sizeof "@output " - 1; yytext[yyleng - 1] = '\0'; - if (*filename == '@') + if (*filename == '@') { - if (strcmp (filename, "@output_header_name@") == 0) - filename = spec_defines_file; - else if (strcmp (filename, "@output_parser_name@") == 0) - filename = parser_file_name; - else - fatal ("invalid token in skeleton: %s", yytext); + if (strcmp (filename, "@output_header_name@") == 0) + filename = spec_defines_file; + else if (strcmp (filename, "@output_parser_name@") == 0) + filename = parser_file_name; + else if (strcmp(filename, "@lalr_stack_name@") == 0) + filename = lalr_stack_file; + else if (strcmp(filename, "@lalr_position_name@") == 0) + filename = lalr_position_file; + else if (strcmp(filename, "@lalr_location_name@") == 0) + filename = lalr_location_file; + else + fatal ("invalid token in skeleton: %s", yytext); } free (outname); @@ -74,6 +80,7 @@ "@ofile@" QPUTS (outname); "@output_parser_name@" QPUTS (parser_file_name); "@output_header_name@" QPUTS (spec_defines_file); +"@output_header_name_no_path@" QPUTS (spec_defines_file_no_path); /* This pattern must not match more than the previous @ patterns. */ @[^{}@\n]* fatal ("invalid @ in skeleton: %s", yytext); Only in bison-hacked/: stamp-h1 Only in bison-hacked/tests: atconfig Only in bison-hacked/tests: atlocal Only in bison-hacked/tests: bison Only in bison-hacked/tests: Makefile