[regex] - bk_parens and bk_braces missing from 1.33.x

Resending due to no response since 4th Feb: It states in history.html for regex 1.33.0 that "some of the more esoteric options have now been removed, so there is the possibility that existing code may fail to compile: however equivalent functionality should still be available". I suppose bk_parens and bk_braces could be considered esoteric, but I cannot find any equivalent functionality. Is that intentional? Thanks, Keith MacDonald

It states in history.html for regex 1.33.0 that "some of the more esoteric options have now been removed, so there is the possibility that existing code may fail to compile: however equivalent functionality should still be available". I suppose bk_parens and bk_braces could be considered esoteric, but I cannot find any equivalent functionality. Is that intentional?
Apologies for the slow response I missed the first one. Aren't the options you want just the same as the POSIX-Basic syntax: boost::regex e("\\(abc\\)\\{1,2\\}", boost::regex::basic); See file:///c:/data/boost/develop/boost/libs/regex/doc/syntax_basic.html For the full syntax and the variations on it (like emacs style regexes). John.

Aren't the options you want just the same as the POSIX-Basic syntax
Yes, but because they could previously be individually selected, I gave the
users of my application the option of setting bk_parens and/or bk_braces,
separately from choosing POSIX or Perl semantics. It seems that syntax and
semantics are no longer orthogonal. I don't have strong feelings about
that, but just wanted to check that it was intentional, before hacking the
application.
Thanks,
Keith MacDonald
"John Maddock"
It states in history.html for regex 1.33.0 that "some of the more esoteric options have now been removed, so there is the possibility that existing code may fail to compile: however equivalent functionality should still be available". I suppose bk_parens and bk_braces could be considered esoteric, but I cannot find any equivalent functionality. Is that intentional?
Apologies for the slow response I missed the first one.
Aren't the options you want just the same as the POSIX-Basic syntax:
boost::regex e("\\(abc\\)\\{1,2\\}", boost::regex::basic);
See file:///c:/data/boost/develop/boost/libs/regex/doc/syntax_basic.html
For the full syntax and the variations on it (like emacs style regexes).
John.

Yes, but because they could previously be individually selected, I gave the users of my application the option of setting bk_parens and/or bk_braces, separately from choosing POSIX or Perl semantics. It seems that syntax and semantics are no longer orthogonal. I don't have strong feelings about that, but just wanted to check that it was intentional, before hacking the application.
OK understood, but if you use Basic-style syntax with Perl like extensions you can get into trouble particularly if you try and match non-greedy repeats POSIX style. So, I guess what I'm saying is it avoid a whole lot of confusion all round if you stick to one of the standard syntaxes or their variations: basic, extended, perl, emacs etc. My guess is your users would find it less confusing as well - most people (all of them?) would want regexes that follow whatever form they've used before, rather than inventing their own new syntax. You can still choose whether to use Perl-style matching or POSIX-style leftmost longest matching independently of the syntax type, but I'd recomend that you don't, or at least that you don't try and use Perl syntax with leftmost-longest rules. The other way around however: POSIX syntax with Perl matching rules is OK (and is more or less what emacs does). John.

That makes sense, thanks. I'll cut out those options and hope nobody
complains!
- Keith MacDonald
"John Maddock"
OK understood, but if you use Basic-style syntax with Perl like extensions you can get into trouble particularly if you try and match non-greedy repeats POSIX style. So, I guess what I'm saying is it avoid a whole lot of confusion all round if you stick to one of the standard syntaxes or their variations: basic, extended, perl, emacs etc. My guess is your users would find it less confusing as well - most people (all of them?) would want regexes that follow whatever form they've used before, rather than inventing their own new syntax.
You can still choose whether to use Perl-style matching or POSIX-style leftmost longest matching independently of the syntax type, but I'd recomend that you don't, or at least that you don't try and use Perl syntax with leftmost-longest rules. The other way around however: POSIX syntax with Perl matching rules is OK (and is more or less what emacs does).
John.

I am trying to build and run the boost python example: http://www.boost.org/libs/python/doc/tutorial/doc/html/python/hello.html But after I run the bjam command, how can I import that to my python environment on Linux? Thank you. [yinglcs@localhost tutorial]$ bjam ...patience... ...found 1506 targets... ...updating 42 targets... MkDir1 bin MkDir1 bin/boost MkDir1 bin/boost/libs MkDir1 bin/boost/libs/python MkDir1 bin/boost/libs/python/build MkDir1 bin/boost/libs/python/build/libboost_python.so MkDir1 bin/boost/libs/python/build/libboost_python.so/gcc MkDir1 bin/boost/libs/python/build/libboost_python.so/gcc/debug MkDir1 bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/numeric.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/list.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/long.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/dict.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/tuple.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/str.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/slice.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/aix_init_module.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/from_python.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/registry.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/type_id.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/enum.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/class.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/function.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/inheritance.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/life_support.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/pickle_support.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/errors.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/exception_handler.hpp:14: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/module.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/builtin_converters.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/arg_to_python_base.o gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/iterator.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/object_protocol.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/object_operators.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-C++-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/wrapper.o /media/LINUXDATA/src/boost_1_33_1/boost/python/detail/wrapper_base.hpp:17: warning: type attributes are honored only at type definition gcc-Link-action bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/libboost_python.so Chmod1 bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true/libboost_python.so MkDir1 bin/tutorial MkDir1 bin/tutorial/hello.so MkDir1 bin/tutorial/hello.so/gcc MkDir1 bin/tutorial/hello.so/gcc/debug MkDir1 bin/tutorial/hello.so/gcc/debug/shared-linkable-true gcc-C++-action bin/tutorial/hello.so/gcc/debug/shared-linkable-true/hello.o gcc-Link-action bin/tutorial/hello.so/gcc/debug/shared-linkable-true/hello.so Chmod1 bin/tutorial/hello.so/gcc/debug/shared-linkable-true/hello.so ...updated 42 targets... [yinglcs@localhost tutorial]$ ls __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com

FYI, http://www.boost.org/more/mailing_lists.htm#cplussig is usually a
better place to go with Boost.Python questions.
"yinglcs2@yahoo.com"
I am trying to build and run the boost python example: http://www.boost.org/libs/python/doc/tutorial/doc/html/python/hello.html
But after I run the bjam command, how can I import that to my python environment on Linux?
If you want to import the hello.so module, # Allow the system to find libboost_python.so LD_LIBRARY_PATH=bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true export LD_LIBRARY_PATH # Allow python to find the extension module PYTHON_PATH=./bin/tutorial/hello.so/gcc/debug/shared-linkable-true export PYTHON_PATH python -c "import hello; print hello.greet()" HTH, -- Dave Abrahams Boost Consulting www.boost-consulting.com

[Sorry, in another post I incorrectly used "PYTHON_PATH" instead of
"PYTHONPATH"]
FYI, http://www.boost.org/more/mailing_lists.htm#cplussig is usually a
better place to go with Boost.Python questions.
"yinglcs2@yahoo.com"
I am trying to build and run the boost python example: http://www.boost.org/libs/python/doc/tutorial/doc/html/python/hello.html
But after I run the bjam command, how can I import that to my python environment on Linux?
If you want to import the hello.so module, # Allow the system to find libboost_python.so LD_LIBRARY_PATH=bin/boost/libs/python/build/libboost_python.so/gcc/debug/shared-linkable-true export LD_LIBRARY_PATH # Allow python to find the extension module PYTHONPATH=./bin/tutorial/hello.so/gcc/debug/shared-linkable-true export PYTHONPATH python -c "import hello; print hello.greet()" HTH, -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (4)
-
David Abrahams
-
John Maddock
-
Keith MacDonald
-
yinglcs2@yahoo.com