Joel de Guzman
f6b78c4464
Merge branch 'lit-leaks-attribute' of https://github.com/redbaron/spirit into redbaron-lit-leaks-attribute
...
Conflicts:
test/Jamfile
test/x3/sequence.cpp
2014-04-01 10:47:57 +08:00
Joel de Guzman
131e64bd98
Added x3 tests to Jamfile (reverted from commit c3935ca442
)
2014-04-01 10:30:47 +08:00
Joel de Guzman
5e1c8a2dd8
Merge pull request #8 from redbaron/fix-one-element-seq
...
Fix one element seq
2014-04-01 10:25:52 +08:00
Joel de Guzman
01608a1294
added missing unused.hpp file
2014-04-01 08:28:30 +08:00
Joel de Guzman
b23c6c741b
Merge branch 'develop'
2014-04-01 08:21:32 +08:00
Joel de Guzman
be00816174
added jamfile
2014-04-01 08:10:03 +08:00
Joel de Guzman
5368c19e4c
- fixed move_to handling when src and dest are the same
...
- added jamfile
2014-04-01 08:09:21 +08:00
Maxim Ivanov
6f5e169987
Move move_to condition to template
...
Even if branch is never taken it still must be compiled
properly, which can cause compile errors. Moving condition
to template eliminates branching.
2014-03-26 09:52:28 +00:00
Maxim Ivanov
8ea47e5025
Fix for the case when fusion assoc seq is on either side of seq
2014-03-26 09:52:28 +00:00
Maxim Ivanov
dfed8f3dea
Added test for parsing to fusion map with keys parsed in alternative<>
2014-03-26 09:44:43 +00:00
Maxim Ivanov
19d2da2f5b
Support alternative over keys to be used as a key for fussion assoc
...
Adds support for parsers like:
auto key1 = lit("key1=") >> attr(key1());
auto key2 = lit("key2=") >> attr(key2());
auto value = int();
auto pair = key1|key2 >> value;
where attribute passed to pair.parse() is fusion associative sequence
2014-03-26 09:44:43 +00:00
Maxim Ivanov
bb16f871ae
Merge branch 'fix-one-element-seq' into parse-into-fusion-map
2014-03-25 10:14:57 +00:00
Maxim Ivanov
58e177beb7
Support parsing into fusion adapted structs
2014-03-25 10:14:46 +00:00
Maxim Ivanov
2f1659413b
Fix for sequences with only one element producing attr
...
If in a sequence only one element produces attribute, then make whole
sequence to produce that attribute,rather than wrapping it into
fusion::deque. Not doing so breaks alternative<> parser, when such
sequences are on left and right side of it, because it then generates
variant attribute over fusion:deque<> attributes, which is not
what it is supposed to do. Plus it breaks traits::move_to when both
source and destination are single element fusions sequences. Hence this
fix to put everything back to normal for this edge case.
2014-03-24 23:48:28 +00:00
Maxim Ivanov
3dc3960e67
Added test for fusion::map parsing
2014-03-20 11:25:22 +00:00
Maxim Ivanov
641029c983
Avoid needless construction of sequence<> parser
2014-03-20 11:25:22 +00:00
Maxim Ivanov
b11cfb5bc5
Make it possible to parse 2 element sequences directly into fusion map
...
If parser produces 2 element tuple, then fusion::map can be passed
as an attribute to it. Type of first element in produces tuple is used
as a key and second element is a value stored in map.
Few notes how does it work:
- parsing to fusion::map is treated as parsing to container
- special parse_into_container logic call's parser with it's native
attribute type (fusion::deque<> for sequences) and then updates
fusion::map with values from it.
2014-03-20 11:25:22 +00:00
Joel de Guzman
af07ca7300
Merge branch 'origin/develop'
2014-03-20 12:34:15 +08:00
Maxim Ivanov
34ff12be41
unify built container for single element fusion::deque
...
continue to reduce variety of containers floating inside instantiated
templates.
2014-03-19 23:33:46 +00:00
Maxim Ivanov
676f1f882a
make x3::omit[] fail at compile time if it is called with non-unused_type attr
...
It should never be called with anything but unused_type attribute
anyway, but if something did it due to error it is better to be safe and
fail at compile time rather than unexpectedly update attribute, which
could lead to hard to detect errors.
2014-03-19 22:53:48 +00:00
Maxim Ivanov
ba5b50f691
as x3::lit() is fixes no need to omit[] it anymore
2014-03-19 22:36:01 +00:00
Maxim Ivanov
4f97aa987c
stop x3::lit from updating passed container
2014-03-19 22:34:31 +00:00
Maxim Ivanov
c206e3d0ac
Added test for recently fixed sequence attribute consistency bug
2014-03-19 20:22:08 +00:00
Maxim Ivanov
84c0c07546
use std::string as a container for char
...
That is what normally users would pass, so in some situations it
can avoid copying data.
2014-03-19 19:39:13 +00:00
Maxim Ivanov
c3935ca442
Added x3 tests to Jamfile
2014-03-19 15:48:49 +00:00
Joel de Guzman
b91d84f95d
Merge pull request #3 from redbaron/parse-into-container-seq-unused-attr
...
Fix for parsing sequences with x3::unused attribute
2014-03-19 07:25:04 +08:00
Maxim Ivanov
2d862e1d8d
Fix for parsing sequences with x3::unused attribute
2014-03-18 18:21:40 +00:00
Joel de Guzman
b69ec696a3
Removing phoenix2 docs and lib stuff
2014-03-18 12:00:08 +08:00
Joel de Guzman
0262419033
fixed wrong include guard
2014-03-18 11:33:10 +08:00
Joel de Guzman
8a35332835
Merging Spirit x3 into devel
2014-03-18 11:06:19 +08:00
Joel de Guzman
5767624292
preparing for migration to boost devel
2014-03-18 10:53:30 +08:00
Joel de Guzman
c2c8d6ace2
moving headers to include to mimic modular boost structure
2014-03-18 10:30:47 +08:00
Joel de Guzman
13f3a50904
some cleanup
2014-03-18 09:31:12 +08:00
Joel de Guzman
f6832411ba
Merge pull request #8 from redbaron/kleene-attr-keep-unmodified
...
Bug fix for parse_into_container_impl to allow partial matches generate consistent container attribute.
2014-03-18 09:08:54 +08:00
Maxim Ivanov
aedd54bf4d
make parse_into_container for sequence<> to update attribute only on success
2014-03-18 00:05:05 +00:00
Joel de Guzman
00f0e03a56
Merge pull request #2 from yurivkhan/fix
...
Fix attribute_size<optional<T> >
2014-03-03 16:54:48 +08:00
Yuri Khan
bdf4fd8d28
Fix attribute_size<optional<T> >
2014-03-03 15:19:12 +07:00
Yuri Khan
555fb29c71
Add test exercising attribute_size<optional<T> >
2014-03-03 15:19:11 +07:00
K-ballo
76f65843ce
Added changes needed by resolution of #7730
2014-02-20 20:04:28 -06:00
Joel de Guzman
3c8b12c30a
fixed bad link
2014-02-06 05:56:33 +08:00
Joel de Guzman
02ef48736f
fixed missing dependency in jamfile
2014-01-23 11:22:49 +08:00
Joel de Guzman
0e0005b7a2
Create README.md
2014-01-22 23:28:34 +08:00
Joel de Guzman
5df5b42f7c
merging from develop
2014-01-22 22:33:33 +08:00
Joel de Guzman
254ea86f82
syncing from develop
2014-01-22 22:23:12 +08:00
Joel de Guzman
ca8ca3c729
Merge branch 'develop'
...
Conflicts:
doc/what_s_new.qbk
example/qi/compiler_tutorial/Jamfile
example/qi/compiler_tutorial/conjure2/error_handler.hpp
example/qi/typeof.cpp
include/boost/spirit/home/karma/detail/pass_container.hpp
include/boost/spirit/home/karma/nonterminal/rule.hpp
include/boost/spirit/home/karma/operator/alternative.hpp
include/boost/spirit/home/karma/operator/sequence.hpp
include/boost/spirit/home/karma/string/symbols.hpp
include/boost/spirit/home/lex/lexer/lexer.hpp
include/boost/spirit/home/lex/lexer/support_functions.hpp
include/boost/spirit/home/lex/qi/plain_tokenid.hpp
include/boost/spirit/home/qi/copy.hpp
include/boost/spirit/home/qi/nonterminal/rule.hpp
include/boost/spirit/home/qi/stream/stream.hpp
include/boost/spirit/home/qi/string/symbols.hpp
include/boost/spirit/home/support/attributes.hpp
include/boost/spirit/home/support/auto.hpp
include/boost/spirit/home/support/extended_variant.hpp
include/boost/spirit/home/support/info.hpp
include/boost/spirit/repository/home/qi/directive/kwd.hpp
include/boost/spirit/repository/home/qi/operator/detail/keywords.hpp
repository/test/qi/keywords.cpp
test/karma/regression_container_variant_sequence.cpp
2014-01-22 22:18:57 +08:00
Joel de Guzman
baece41cc4
Removing conjure3 for now
...
[SVN r81091] (reverted from commit f39caa2da4
)
2014-01-22 22:10:36 +08:00
Joel de Guzman
8a20147b3a
Spirit: fixing inspect errors
...
[SVN r82191]
2014-01-22 22:06:37 +08:00
Joel de Guzman
fc6be25a8c
Removing (broken) scheme example.
...
[SVN r81058]
2014-01-22 21:42:26 +08:00
Joel de Guzman
e974ea7c62
Removing (broken) scheme example.
...
[SVN r81058]
2014-01-22 21:38:53 +08:00
Joel de Guzman
1d9633a9c9
Support for BOOST_SPIRIT_AUTO and qi::copy.
...
[SVN r76928]
2014-01-22 21:30:28 +08:00