annotate DEPENDENCIES/generic/include/boost/spirit/home/classic/debug.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2001-2003 Joel de Guzman
Chris@16 3 Copyright (c) 2002-2003 Hartmut Kaiser
Chris@16 4 http://spirit.sourceforge.net/
Chris@16 5
Chris@16 6 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 8 =============================================================================*/
Chris@16 9 #if !defined(BOOST_SPIRIT_DEBUG_MAIN_HPP)
Chris@16 10 #define BOOST_SPIRIT_DEBUG_MAIN_HPP
Chris@16 11
Chris@16 12 ///////////////////////////////////////////////////////////////////////////
Chris@16 13 #if defined(BOOST_SPIRIT_DEBUG)
Chris@16 14
Chris@16 15 #include <boost/spirit/home/classic/version.hpp>
Chris@16 16
Chris@16 17 ///////////////////////////////////////////////////////////////////////////////
Chris@16 18 //
Chris@16 19 // Spirit.Debug includes and defines
Chris@16 20 //
Chris@16 21 ///////////////////////////////////////////////////////////////////////////////
Chris@16 22
Chris@16 23 #include <iostream>
Chris@16 24
Chris@16 25 ///////////////////////////////////////////////////////////////////////////
Chris@16 26 //
Chris@16 27 // The BOOST_SPIRIT_DEBUG_OUT defines the stream object, which should be used
Chris@16 28 // for debug diagnostics. This defaults to std::cout.
Chris@16 29 //
Chris@16 30 ///////////////////////////////////////////////////////////////////////////
Chris@16 31 #if !defined(BOOST_SPIRIT_DEBUG_OUT)
Chris@16 32 #define BOOST_SPIRIT_DEBUG_OUT std::cout
Chris@16 33 #endif
Chris@16 34
Chris@16 35 ///////////////////////////////////////////////////////////////////////////
Chris@16 36 //
Chris@16 37 // The BOOST_SPIRIT_DEBUG_PRINT_SOME constant defines the number of characters
Chris@16 38 // from the stream to be printed for diagnosis. This defaults to the first
Chris@16 39 // 20 characters.
Chris@16 40 //
Chris@16 41 ///////////////////////////////////////////////////////////////////////////
Chris@16 42 #if !defined(BOOST_SPIRIT_DEBUG_PRINT_SOME)
Chris@16 43 #define BOOST_SPIRIT_DEBUG_PRINT_SOME 20
Chris@16 44 #endif
Chris@16 45
Chris@16 46 ///////////////////////////////////////////////////////////////////////////
Chris@16 47 //
Chris@16 48 // Additional BOOST_SPIRIT_DEBUG_FLAGS control the level of diagnostics printed
Chris@16 49 // Basic constants are defined in debug/minimal.hpp.
Chris@16 50 //
Chris@16 51 ///////////////////////////////////////////////////////////////////////////
Chris@16 52 #define BOOST_SPIRIT_DEBUG_FLAGS_NODES 0x0001 // node diagnostics
Chris@16 53 #define BOOST_SPIRIT_DEBUG_FLAGS_ESCAPE_CHAR 0x0002 // escape_char_parse diagnostics
Chris@16 54 #define BOOST_SPIRIT_DEBUG_FLAGS_TREES 0x0004 // parse tree/ast diagnostics
Chris@16 55 #define BOOST_SPIRIT_DEBUG_FLAGS_CLOSURES 0x0008 // closure diagnostics
Chris@16 56 #define BOOST_SPIRIT_DEBUG_FLAGS_SLEX 0x8000 // slex diagnostics
Chris@16 57
Chris@16 58 #define BOOST_SPIRIT_DEBUG_FLAGS_MAX 0xFFFF // print maximal diagnostics
Chris@16 59
Chris@16 60 #if !defined(BOOST_SPIRIT_DEBUG_FLAGS)
Chris@16 61 #define BOOST_SPIRIT_DEBUG_FLAGS BOOST_SPIRIT_DEBUG_FLAGS_MAX
Chris@16 62 #endif
Chris@16 63
Chris@16 64 ///////////////////////////////////////////////////////////////////////////
Chris@16 65 //
Chris@16 66 // By default all nodes are traced (even those, not registered with
Chris@16 67 // BOOST_SPIRIT_DEBUG_RULE et.al. - see below). The following constant may be
Chris@16 68 // used to redefine this default.
Chris@16 69 //
Chris@16 70 ///////////////////////////////////////////////////////////////////////////
Chris@16 71 #if !defined(BOOST_SPIRIT_DEBUG_TRACENODE)
Chris@16 72 #define BOOST_SPIRIT_DEBUG_TRACENODE (true)
Chris@16 73 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACENODE)
Chris@16 74
Chris@16 75 ///////////////////////////////////////////////////////////////////////////
Chris@16 76 //
Chris@16 77 // Helper macros for giving rules and subrules a name accessible through
Chris@16 78 // parser_name() functions (see parser_names.hpp).
Chris@16 79 //
Chris@16 80 // Additionally, the macros BOOST_SPIRIT_DEBUG_RULE, SPIRIT_DEBUG_NODE and
Chris@16 81 // BOOST_SPIRIT_DEBUG_GRAMMAR enable/disable the tracing of the
Chris@16 82 // correspondingnode accordingly to the PP constant
Chris@16 83 // BOOST_SPIRIT_DEBUG_TRACENODE.
Chris@16 84 //
Chris@16 85 // The macros BOOST_SPIRIT_DEBUG_TRACE_RULE, BOOST_SPIRIT_DEBUG_TRACE_NODE
Chris@16 86 // and BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR allow to specify a flag to define,
Chris@16 87 // whether the corresponding node is to be traced or not.
Chris@16 88 //
Chris@16 89 ///////////////////////////////////////////////////////////////////////////
Chris@16 90 #if !defined(BOOST_SPIRIT_DEBUG_RULE)
Chris@16 91 #define BOOST_SPIRIT_DEBUG_RULE(r) \
Chris@16 92 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 93 register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
Chris@16 94 #endif // !defined(BOOST_SPIRIT_DEBUG_RULE)
Chris@16 95
Chris@16 96 #if !defined(BOOST_SPIRIT_DEBUG_NODE)
Chris@16 97 #define BOOST_SPIRIT_DEBUG_NODE(r) \
Chris@16 98 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 99 register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
Chris@16 100 #endif // !defined(BOOST_SPIRIT_DEBUG_NODE)
Chris@16 101
Chris@16 102 #if !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
Chris@16 103 #define BOOST_SPIRIT_DEBUG_GRAMMAR(r) \
Chris@16 104 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 105 register_node(&r, #r, BOOST_SPIRIT_DEBUG_TRACENODE)
Chris@16 106 #endif // !defined(BOOST_SPIRIT_DEBUG_GRAMMAR)
Chris@16 107
Chris@16 108 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE)
Chris@16 109 #define BOOST_SPIRIT_DEBUG_TRACE_RULE(r, t) \
Chris@16 110 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 111 register_node(&r, #r, (t))
Chris@16 112 #endif // !defined(BOOST_SPIRIT_TRACE_RULE)
Chris@16 113
Chris@16 114 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
Chris@16 115 #define BOOST_SPIRIT_DEBUG_TRACE_NODE(r, t) \
Chris@16 116 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 117 register_node(&r, #r, (t))
Chris@16 118 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE)
Chris@16 119
Chris@16 120 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
Chris@16 121 #define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR(r, t) \
Chris@16 122 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 123 register_node(&r, #r, (t))
Chris@16 124 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR)
Chris@16 125
Chris@16 126 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
Chris@16 127 #define BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME(r, n, t) \
Chris@16 128 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 129 register_node(&r, (n), (t))
Chris@16 130 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_RULE_NAME)
Chris@16 131
Chris@16 132 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
Chris@16 133 #define BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME(r, n, t) \
Chris@16 134 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 135 register_node(&r, (n), (t))
Chris@16 136 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_NODE_NAME)
Chris@16 137
Chris@16 138 #if !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
Chris@16 139 #define BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME(r, n, t) \
Chris@16 140 ::BOOST_SPIRIT_CLASSIC_NS::impl::get_node_registry(). \
Chris@16 141 register_node(&r, (n), (t))
Chris@16 142 #endif // !defined(BOOST_SPIRIT_DEBUG_TRACE_GRAMMAR_NAME)
Chris@16 143
Chris@16 144 //////////////////////////////////
Chris@16 145 #include <boost/spirit/home/classic/debug/debug_node.hpp>
Chris@16 146
Chris@16 147 #else
Chris@16 148 //////////////////////////////////
Chris@16 149 #include <boost/spirit/home/classic/debug/minimal.hpp>
Chris@16 150
Chris@16 151 #endif // BOOST_SPIRIT_DEBUG
Chris@16 152
Chris@16 153 #endif
Chris@16 154