X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/2091988f7e4bb9020a38624601fc500631b0269b..6dc4663d5c0bd4a2a8c964d9ebfb2f074bb5bc4f:/data/location.cc diff --git a/data/location.cc b/data/location.cc index da70d9d1..976fc34b 100644 --- a/data/location.cc +++ b/data/location.cc @@ -1,6 +1,6 @@ # C++ skeleton for Bison -# Copyright (C) 2002-2007, 2009-2012 Free Software Foundation, Inc. +# Copyright (C) 2002-2012 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,20 +15,21 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +m4_pushdef([b4_copyright_years], + [2002-2012]) + # We do want M4 expansion after # for CPP macros. m4_changecom() m4_divert_push(0)dnl @output(b4_dir_prefix[]position.hh@)@ -b4_copyright([Positions for Bison parsers in C++], - [2002-2007, 2009-2012])[ +b4_copyright([Positions for Bison parsers in C++])[ /** - ** \file position.hh + ** \file ]b4_dir_prefix[position.hh ** Define the ]b4_namespace_ref[::position class. */ -#ifndef BISON_POSITION_HH -# define BISON_POSITION_HH +]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[ # include # include @@ -54,11 +55,13 @@ b4_copyright([Positions for Bison parsers in C++], ]])[ /// Initialization. - void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL) + void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL, + unsigned int l = ]b4_location_initial_line[u, + unsigned int c = ]b4_location_initial_column[u) { filename = fn; - line = ]b4_location_initial_line[u; - column = ]b4_location_initial_column[u; + line = l; + column = c; } /** \name Line and Column related manipulators @@ -146,18 +149,16 @@ b4_copyright([Positions for Bison parsers in C++], } ]b4_namespace_close[ -#endif // not BISON_POSITION_HH] +]b4_cpp_guard_close([b4_dir_prefix[]position.hh]) @output(b4_dir_prefix[]location.hh@)@ -b4_copyright([Locations for Bison parsers in C++], - [2002-2007, 2009-2011])[ +b4_copyright([Locations for Bison parsers in C++])[ /** - ** \file location.hh + ** \file ]b4_dir_prefix[location.hh ** Define the ]b4_namespace_ref[::location class. */ -#ifndef BISON_LOCATION_HH -# define BISON_LOCATION_HH +]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[ # include # include @@ -195,9 +196,11 @@ b4_copyright([Locations for Bison parsers in C++], ])[ /// Initialization. - void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL) + void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULL, + unsigned int l = ]b4_location_initial_line[u, + unsigned int c = ]b4_location_initial_column[u) { - begin.initialize (fn); + begin.initialize (f, l, c); end = begin; } @@ -279,8 +282,8 @@ b4_copyright([Locations for Bison parsers in C++], position last = loc.end - 1; ostr << loc.begin; if (last.filename - && (!loc.begin.filename - || *loc.begin.filename != *last.filename)) + && (!loc.begin.filename + || *loc.begin.filename != *last.filename)) ostr << '-' << last; else if (loc.begin.line != last.line) ostr << '-' << last.line << '.' << last.column; @@ -291,6 +294,7 @@ b4_copyright([Locations for Bison parsers in C++], ]b4_namespace_close[ -#endif // not BISON_LOCATION_HH] +]b4_cpp_guard_close([b4_dir_prefix[]location.hh]) m4_divert_pop(0) +m4_popdef([b4_copyright_years])dnl m4_changecom([#])