|
Boost : |
From: Carl Daniel (cpdaniel_at_[hidden])
Date: 2002-10-14 22:30:56
More nits - scanning through headers.
-cd
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
#define SPIRIT_TYPENAME
#else
#define SPIRIT_TYPENAME typename
#endif
Appears in a number of files - perhaps it should be replaced with a common
mechanism rather than repeating it in each & every file where it's used.
---------------------
/boost/spirit/debug.hpp:
// by the user. If SPIRIT_ASSERT_EXCEPTION is thrown, then that will
should read
// by the user. If SPIRIT_ASSERT_EXCEPTION is defined, then that will
---------------------
/boost/spirit/attribute/closure.hpp:
BOOST_STATIC_ASSERT(SPIRIT_CLOSURE_LIMIT <= PHOENIX_LIMIT);
If Spirit doesn't depend on Phoenix, why is this here? (It appears that
this part of Spirit does in fact depend on Phoenix - is this part of what's
being reviewed?).
---------------------
/boost/spirit/core/actions.hpp
- contains mixture of tabs & spaces for indentation
--------------------
/boost/spirit/core/composite.hpp
classes unary<S,B> and binary<S,T,B> require that S::embed_t (or X::embed_t,
Y::embed_t) be defined as a type, but this requirement is not documented in
the otherwise lengthy and helpful comments near the class declarations.
--------------------
/boost/spirit/core/parser_context.hpp
// parser_context_helper and parser_scanner_linker classes
should be
// parser_context_linker and parser_scanner_linker classes
--------------------
/boost/spirit/core/subrule.hpp
#if defined(_MSC_VER) && !defined(__COMO_VERSION__)
#pragma inline_depth(255)
#pragma inline_recursion(on)
#endif
I realize that these pragmas have a significant impact on code size/speed,
but such global pragma don't belong here - this is something the user should
tune. The value of these pragmas should be clearly (loudly, even) called
out in the documentation (along with recommended options/pragmas for other
compilers).
-----------------------
/boost/spirit/debug/debug_node.hpp
// The parser_context_linker and rule_scanner_helper classes are wrapped by
a
should be
// The parser_context_linker and parser_scanner_linker classes are wrapped
by a
------------------------
/boost/spirit/iterator/impl/msvc_ps_helper.cpp
/boost/spirit/iterator/impl/multi_pass_msvc.hpp
Something wierd with the line endings in these two files - VS.NET shows
blank lines between successive source lines.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk