SILENT KILLERPanel

Current Path: > > usr > share > bison


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/share/bison

NameTypeSizeLast ModifiedActions
m4sugar Directory - -
xslt Directory - -
README File 2017 bytes October 12 2019 12:28:39.
bison.m4 File 37206 bytes October 12 2019 12:28:39.
c++-skel.m4 File 1150 bytes October 12 2019 12:28:39.
c++.m4 File 17724 bytes October 12 2019 12:28:39.
c-like.m4 File 2314 bytes October 12 2019 12:28:39.
c-skel.m4 File 1144 bytes October 12 2019 12:28:39.
c.m4 File 25164 bytes October 12 2019 12:28:39.
glr.c File 84551 bytes October 12 2019 12:28:39.
glr.cc File 10906 bytes October 12 2019 12:28:39.
java-skel.m4 File 1151 bytes October 12 2019 12:28:39.
java.m4 File 9758 bytes October 12 2019 12:28:39.
lalr1.cc File 35241 bytes October 12 2019 12:28:39.
lalr1.java File 35250 bytes October 12 2019 12:28:39.
location.cc File 8804 bytes October 12 2019 12:28:39.
stack.hh File 2979 bytes October 12 2019 12:28:39.
variant.hh File 9922 bytes October 12 2019 12:28:39.
yacc.c File 63847 bytes October 12 2019 12:28:39.

Reading File: //usr/share/bison/stack.hh

# C++ skeleton for Bison

# Copyright (C) 2002-2015 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

m4_pushdef([b4_copyright_years],
           [2002-2015])

# b4_stack_define
# ---------------
m4_define([b4_stack_define],
[[  template <class T, class S = std::vector<T> >
  class stack
  {
  public:
    // Hide our reversed order.
    typedef typename S::reverse_iterator iterator;
    typedef typename S::const_reverse_iterator const_iterator;

    stack ()
      : seq_ ()
    {
      seq_.reserve (200);
    }

    stack (unsigned int n)
      : seq_ (n)
    {}

    inline
    T&
    operator[] (unsigned int i)
    {
      return seq_[seq_.size () - 1 - i];
    }

    inline
    const T&
    operator[] (unsigned int i) const
    {
      return seq_[seq_.size () - 1 - i];
    }

    /// Steal the contents of \a t.
    ///
    /// Close to move-semantics.
    inline
    void
    push (T& t)
    {
      seq_.push_back (T());
      operator[](0).move (t);
    }

    inline
    void
    pop (unsigned int n = 1)
    {
      for (; n; --n)
        seq_.pop_back ();
    }

    void
    clear ()
    {
      seq_.clear ();
    }

    inline
    typename S::size_type
    size () const
    {
      return seq_.size ();
    }

    inline
    const_iterator
    begin () const
    {
      return seq_.rbegin ();
    }

    inline
    const_iterator
    end () const
    {
      return seq_.rend ();
    }

  private:
    stack (const stack&);
    stack& operator= (const stack&);
    /// The wrapped container.
    S seq_;
  };

  /// Present a slice of the top of a stack.
  template <class T, class S = stack<T> >
  class slice
  {
  public:
    slice (const S& stack, unsigned int range)
      : stack_ (stack)
      , range_ (range)
    {}

    inline
    const T&
    operator [] (unsigned int i) const
    {
      return stack_[range_ - i];
    }

  private:
    const S& stack_;
    unsigned int range_;
  };
]])

b4_defines_if(
[b4_output_begin([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 <vector>

]b4_namespace_open[
]b4_stack_define[
]b4_namespace_close[

]b4_cpp_guard_close([b4_dir_prefix[]stack.hh])
b4_output_end()
])

m4_popdef([b4_copyright_years])

SILENT KILLER Tool