X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/e9690142325711b320ef444768fdd40a087d02f7..f6b561d9f9cbc6fc95bbb86518372a5cb52f45a6:/data/stack.hh diff --git a/data/stack.hh b/data/stack.hh index d4f6ef05..bd94eb2d 100644 --- a/data/stack.hh +++ b/data/stack.hh @@ -1,6 +1,6 @@ # C++ skeleton for Bison -# Copyright (C) 2002-2011 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 @@ -16,21 +16,12 @@ # along with this program. If not, see . m4_pushdef([b4_copyright_years], - [2002-2011]) + [2002-2012]) -# We do want M4 expansion after # for CPP macros. -m4_changecom() -m4_divert_push(0)dnl -@output(b4_dir_prefix[]stack.hh@)@ -b4_copyright([Stack handling for Bison parsers in C++])[ - -#ifndef BISON_STACK_HH -# define BISON_STACK_HH - -#include - -]b4_namespace_open[ - template > +# b4_stack_define +# --------------- +m4_define([b4_stack_define], +[[ template > class stack { public: @@ -109,8 +100,8 @@ b4_copyright([Stack handling for Bison parsers in C++])[ { public: slice (const S& stack, unsigned int range) - : stack_ (stack), - range_ (range) + : stack_ (stack) + , range_ (range) { } @@ -125,10 +116,30 @@ b4_copyright([Stack handling for Bison parsers in C++])[ const S& stack_; unsigned int range_; }; +]]) + +b4_defines_if( +[# We do want M4 expansion after # for CPP macros. +m4_changecom() +m4_divert_push(0)dnl +@output(b4_dir_prefix[]stack.hh@)@ +b4_copyright([Stack handling for Bison parsers in C++])[ + +/** + ** \file ]b4_dir_prefix[stack.hh + ** Define the ]b4_namespace_ref[::stack class. + */ + +]b4_cpp_guard_open([b4_dir_prefix[]stack.hh])[ + +# include + +]b4_namespace_open[ +]b4_stack_define[ ]b4_namespace_close[ -#endif // not BISON_STACK_HH[]dnl -] +]b4_cpp_guard_close([b4_dir_prefix[]stack.hh]) m4_divert_pop(0) m4_popdef([b4_copyright_years])dnl m4_changecom([#]) +])