2
0
mirror of https://github.com/boostorg/spirit.git synced 2026-01-19 04:42:11 +00:00

13 Commits

Author SHA1 Message Date
Nikita Kniazev
48c19a96ff Fix swapped parameters to is_substitute
It seems that confusion in template parameters naming lead to mistakenly swapped types to `is_substitute`. The code to X3 have been brought from Qi with the same mistake, but I do not know how to trigger it in Qi.
2021-10-20 15:49:13 +03:00
Nikita Kniazev
6a7c758376 Switch to the new location of lightweight test
Old location had been deprecated for a long time already.
2021-08-23 21:45:17 +03:00
Nikita Kniazev
e01e9fbfda X3: Fixed self-move in alternative parser
Moreover, guard ourselves from this ever happening again.
2020-06-08 14:26:12 +03:00
Nikita Kniazev
bf81c62314 X3: Sequence parser in alternative into container
This seems like a good compromise until we find a general solution.
2020-06-04 17:17:09 +03:00
Nikita Kniazev
66c22296c3 X3: Corner cases in alternative parser with container attribute
Alternative parser were appending empty values with attributeless parsers, while
it should not append anything at all.
A container parser of alternative parser of container parser with container of
variant of container attribute was failing to compile.

It would be cleaner to simply store every subparser wrapped inside `alternative`
because even the general way to call subparsers is via `parse_alternative`, but
it will hurt parser expression tree readability.
2020-05-31 14:44:34 +03:00
Nikita Kniazev
8e94d8d783 X3: Extensive constexpr testing and fixes (#572)
I have replaced the shallow constexpr test and fixed revealed missing parts.
2020-03-06 04:17:29 +03:00
Brian Wignall
5bdefe59a7 Fix typos 2019-12-27 21:49:15 -05:00
Nikita Kniazev
0694cfb0da X3.Tests: alternative: Fix unreachable code warning 2019-03-01 01:12:00 +03:00
Nikita Kniazev
5663d7d39d X3: Added tests for non-movable and non default constructible types 2019-02-07 14:57:45 +03:00
Mario Lang
6846946823 X3: Make use of Fusion member type deduction to simplify examples. 2015-06-15 22:30:00 +02:00
Joel de Guzman
0adee06b27 cleaning up the tests 2015-05-14 02:13:24 +08: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
Joel de Guzman
5767624292 preparing for migration to boost devel 2014-03-18 10:53:30 +08:00