]> git.saurik.com Git - bison.git/commit
Improve C++ namespace support. Discussed starting at
authorJoel E. Denny <jdenny@ces.clemson.edu>
Mon, 8 Oct 2007 10:09:07 +0000 (10:09 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Mon, 8 Oct 2007 10:09:07 +0000 (10:09 +0000)
commit793fbca50acec434a8e60412394ef392fd03f315
tree61fc6ab68ac7a41c659881252d508cc0d80e0c73
parent35b8730d018b0bb25f7864d0db20f687ebad11b6
Improve C++ namespace support.  Discussed starting at
<http://lists.gnu.org/archive/html/help-bison/2007-09/msg00016.html>.
* data/c++.m4: (b4_namespace_ref, b4_namespace_open,
b4_namespace_close): New macros that interpret the %define variable
"namespace" so its value can contain "::" to indicate nested
namespaces.
* data/glr.cc (b4_namespace): Don't define, and replace all uses with
the above macros.
* data/lalr1.cc (b4_namespace): Likewise.
* data/location.cc (b4_namespace): Likewise.
* doc/bison.texinfo (Decl Summary): Move `%define push_pull' entry
inside a new table in the general %define entry.  Document `%define
namespace' there as well.  Point the %name-prefix entry to it since it
explains it more completely in the case of C++.
(C++ Bison Interface): Mention `%define namespace' instead of
%name-prefix.
(Table of Symbols): Remove the `%define push_pull' entry.  The %define
entry suffices.
* tests/c++.at (Relative namespace references): New test case.
(Absolute namespace references): New test case.
(Syntactically invalid namespace references): New test case.
* tests/input.at (C++ namespace reference errors): New test case.
ChangeLog
data/c++.m4
data/glr.cc
data/lalr1.cc
data/location.cc
doc/bison.texinfo
tests/c++.at
tests/input.at