On Tue, 4 Dec 2007, Akim Demaille wrote: > [EMAIL PROTECTED] ~/src/bison $ grep b4_ examples/calc++/calc++-parser.cc > 21:56:23 > #line 1 "[Bison:b4_percent_define_default]" > #line 1 "[Bison:b4_percent_define_default]"
With more context: % grep -C3 b4_ examples/calc++/calc++-parser.cc /* Line 374 of lalr1.cc */ #line 1 "[Bison:b4_percent_define_default]" namespace yy { -- /* Line 1047 of lalr1.cc */ #line 1 "[Bison:b4_percent_define_default]" } // yy It's expanded appropriately. This is the syncline generated when the user does not specify a value for a %define variable (namespace in this case) and so a default value is set by Bison's b4_percent_define_default. The brackets were just my way of hinting that it's not a real file name. I intended that this location for default values would be seen in error messages only by Bison developers and skeleton developers. I guess I forgot about it when I implemented synclines for %define variables. It also didn't occur to me that it looks like underexpanded M4. Should we drop the leading syncline in the case of a default value? Or can we think of a more meaningful file name to report? What do you think?