2
0
mirror of https://github.com/boostorg/spirit.git synced 2026-01-19 04:42:11 +00:00
Files
spirit/example/application/cpp/cpp_config.hpp
2003-01-31 11:11:39 +00:00

89 lines
3.6 KiB
C++

/*=============================================================================
A Standard compliant C++ preprocessor
Global application configuration
Copyright (c) 2001-2003 Hartmut Kaiser
http://spirit.sourceforge.net/
Permission to copy, use, modify, sell and distribute this software
is granted provided this copyright notice appears in all copies.
This software is provided "as is" without express or implied
warranty, and with no claim as to its suitability for any purpose.
See Copyright.txt for full copyright notices and acknowledgements.
=============================================================================*/
#if !defined(_CPP_CONFIG_HPP__F143F90A_A63F_4B27_AC41_9CA4F14F538D__INCLUDED_)
///////////////////////////////////////////////////////////////////////////////
// global configuration information
#include <boost/config.hpp>
///////////////////////////////////////////////////////////////////////////////
// undefine the following, to enable some MS specific language extensions
//#define SUPPORT_MS_EXTENSIONS
///////////////////////////////////////////////////////////////////////////////
// decide, which C++ lexer to use (choose one!)
#define USE_SLEX_CPP_LEXER // use the SLex based C++ lexer
//#define USE_RE2C_CPP_LEXER // use the Re2C based C++ lexer
///////////////////////////////////////////////////////////////////////////////
// undefine the following, if you need debug output, the
// BOOST_SPIRIT_DEBUG_FLAGS constants below help to fine control the amount of
// the generated debug output
//#define BOOST_SPIRIT_DEBUG
///////////////////////////////////////////////////////////////////////////////
// debug rules, subrules and grammars only, for possible flags see
// spirit/debug.hpp
#define BOOST_SPIRIT_DEBUG_FLAGS \
BOOST_SPIRIT_DEBUG_FLAGS_NODES
/**/
///////////////////////////////////////////////////////////////////////////////
// debug flags for CPP library, possible flags:
#define BOOST_SPIRIT_DEBUG_FLAGS_CPP_GRAMMAR 0x0001
#define BOOST_SPIRIT_DEBUG_FLAGS_TIME_CONVERSION 0x0002
#define BOOST_SPIRIT_DEBUG_FLAGS_CPP \
BOOST_SPIRIT_DEBUG_FLAGS_CPP_GRAMMAR \
/**/
///////////////////////////////////////////////////////////////////////////////
// Decide, whether to use the separate compilation model for the instantiation
// of the C++ lexer objects.
//
// If this is defined, you should explicitly instantiate the C++ lexer
// template with the correct parameters in a separate compilation unit of
// your program (see the files instantiate_slex_lexer.cpp and
// instantiate_re2c_lexer.cpp).
//
// To use the lexer inclusion model, undefine the following
//
#define CPP_SEPARATE_LEXER_INSTANTIATION
///////////////////////////////////////////////////////////////////////////////
// Decide, whether to use the separate compilation model for the instantiation
// of the grammar objects.
//
// If this is defined, you should explicitly instantiate the grammar
// templates with the correct parameters in a separate compilation unit of
// your program (see the files instantiate_cpp_grammar.cpp).
//
// To use the grammar inclusion model, undefine the following
//
#define CPP_SEPARATE_GRAMMAR_INSTANTIATION
///////////////////////////////////////////////////////////////////////////////
// You shouldn't have to change anything below
#if defined(BOOST_MSVC) && !defined(__COMO__)
#pragma warning (disable: 4355) // 'this' used in base member initializer list
#pragma inline_depth(255)
#pragma inline_recursion(on)
#endif // defined(_BOOST_MSVC)
#endif // !defined(_CPP_CONFIG_HPP__F143F90A_A63F_4B27_AC41_9CA4F14F538D__INCLUDED_)