Chris@16: /*============================================================================= Chris@16: Copyright (c) 2001-2003 Joel de Guzman Chris@16: Copyright (c) 2002-2003 Hartmut Kaiser Chris@16: http://spirit.sourceforge.net/ Chris@16: Chris@16: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: =============================================================================*/ Chris@16: #if !defined(BOOST_SPIRIT_PARSER_NAMES_HPP) Chris@16: #define BOOST_SPIRIT_PARSER_NAMES_HPP Chris@16: Chris@16: #if defined(BOOST_SPIRIT_DEBUG) Chris@16: Chris@16: ////////////////////////////////// Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { namespace spirit { Chris@16: Chris@16: BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // Chris@16: // Declaration of helper functions, which return the name of a concrete Chris@16: // parser instance. The functions are specialized on the parser types. The Chris@16: // functions declared in this file are for the predefined parser types from Chris@16: // the Spirit core library only, so additional functions might be provided as Chris@16: // needed. Chris@16: // Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from actions.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(action const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from directives.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(contiguous const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(inhibit_case const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(longest_alternative const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(shortest_alternative const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from grammar.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(grammar const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from numerics.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(uint_parser const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(int_parser const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(real_parser const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from operators.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(sequence const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(sequential_or const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(alternative const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(intersection const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(difference const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(exclusive_or const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(optional const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(kleene_star const& p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(positive const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from parser.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(parser const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from primitives.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(char_parser const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(chlit const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(range const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(chseq const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(strlit const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(nothing_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(epsilon_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(anychar_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(alnum_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(alpha_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(cntrl_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(digit_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(graph_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(lower_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(print_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(punct_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(blank_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(space_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(upper_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(xdigit_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(eol_parser const &p); Chris@16: Chris@16: std::string Chris@16: parser_name(end_parser const &p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from rule.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(rule const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from subrule.hpp Chris@16: template Chris@16: std::string Chris@16: parser_name(subrule_list const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(subrule_parser const &p); Chris@16: Chris@16: template Chris@16: std::string Chris@16: parser_name(subrule const &p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // from chset.hpp Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // Chris@16: // Decide, if a node is to be traced or not Chris@16: // Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: template< Chris@16: typename DerivedT, typename EmbedT, Chris@16: typename T0, typename T1, typename T2 Chris@16: > Chris@16: bool Chris@16: trace_parser(impl::rule_base Chris@16: const& p); Chris@16: Chris@16: template Chris@16: bool Chris@16: trace_parser(grammar const& p); Chris@16: Chris@16: template Chris@16: bool Chris@16: trace_parser(subrule const& p); Chris@16: Chris@16: template Chris@16: struct init_closure_parser; Chris@16: Chris@16: template Chris@16: bool Chris@16: trace_parser(init_closure_parser const& p); Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: BOOST_SPIRIT_CLASSIC_NAMESPACE_END Chris@16: Chris@16: }} // namespace BOOST_SPIRIT_CLASSIC_NS Chris@16: Chris@16: ////////////////////////////////// Chris@16: #include Chris@16: Chris@16: #endif // defined(BOOST_SPIRIT_DEBUG) Chris@16: Chris@16: #endif // !defined(BOOST_SPIRIT_PARSER_NAMES_HPP)