Commit Graph

901 Commits

Author SHA1 Message Date
Nikita Kniazev
602a406c12 Tests: char1: Fixed typo leading to wchar_t to char truncation warning 2017-12-16 22:11:37 +03:00
Mike Gresens
60031eb779 Fix container traits for msvc (#318)
- Fixes #298 and is based on 45902cbb4e provided by @Kojoley 
- Added container_support.cpp to x3 test suite again
2017-12-16 22:10:00 +03:00
octopus-prime
6a4547ca43 Added fix and test from trac # 5983 2017-12-15 11:29:46 +01:00
Nikita Kniazev
d526cd1931 Use <c++-template-depth> feature 2017-12-15 01:12:06 +03:00
Joel de Guzman
b10e4a477b
Merge pull request #320 from think-cell/thinkcell_iterator_check
ForwardIterator -> ReadableIteratorConcept & ForwardTraversalConcept
2017-12-11 08:02:09 +08:00
Nikita Kniazev
109253ac8c
Merge pull request #319 from Kojoley/fix-qi-permutations-always-initializes-optionals
Qi: Permutations parser always initializes optionals
2017-12-08 19:46:40 +03:00
Han Wang
766cc4c9b7 ForwardIterator -> ReadableIteratorConcept & ForwardTraversalConcept
The concept of ForwardIterator is flawed because it mixed 2 sets of concepts (value access and traversal) into 1 package.

http://www.boost.org/doc/libs/1_65_1/libs/iterator/doc/new-iter-concepts.html

It requires value_type (const)& as return type when dereference is applied, which is not mandatory in spirit parsing. A return type which is convertible to value_type is good enough. ReadableIteratorConcept and ForwardTraversalConcept should be what we need for the iterator check.

For example, the iterator of the range returned by boost::adaptors::transform(std::string, func) is normally not a ForwardIterator. But it fulfills ReadableIteratorConcept and ForwardTraversalConcept and should be able to be parsed by spirit.
2017-12-07 17:25:37 +01:00
Nikita Kniazev
3f18a6e99f Qi: Permutations parser always initializes optionals
Closes https://svn.boost.org/trac10/ticket/12473

Optional parser never fails so `attr = val;` always triggers and initializes
the `attr` value. The special case for optional attributes could be safely
removed as any underlying parser must already correctly handle optionals.
2017-12-07 17:59:04 +03:00
octopus-prime
cb2750792e Test for trac ticket 12928 "x3 cannot synthesize attribute of type
boost::iterator_range in a sequence parser"
2017-12-06 19:28:04 +01:00
Nikita Kniazev
3a2f074c2b Qi.Tests: grammar_fail, rule_fail: Fixed past-the-end pointer problem 2017-12-06 16:05:06 +03:00
Nikita Kniazev
5f93ee81d9 Qi.Tests: rule_fail: Fixed ambiguous symbol 'char_'
..\libs\spirit\test\qi\rule_fail.cpp(28): error C2872: 'char_': ambiguous symbol
boost/spirit/home/support/common_terminals.hpp(235): note: could be 'const boost::spirit::ascii::char_type boost::spirit::ascii::char_'
boost/spirit/home/support/common_terminals.hpp(237): note: or       'const boost::spirit::standard::char_type boost::spirit::standard::char_'
2017-12-06 16:05:06 +03:00
Mike Gresens
5a720737af
Merge pull request #312 from octopus-prime/develop
error_handler test msvc-14.0
2017-12-05 09:38:27 +01:00
octopus-prime
868689ff40 error_handler test msvc-14.0 2017-12-05 00:23:33 +01:00
octopus-prime
b6fa1404fa Added missing dependency to filesystem for error_handler test. 2017-12-04 17:46:52 +01:00
Mike Gresens
b476a28af7
Merge pull request #304 from octopus-prime/line_pos_iterator_fix3
Line pos iterator fix3
2017-12-04 14:01:50 +01:00
octopus-prime
fa2bfb1c52 Added tests for error_handler 2017-12-04 12:56:43 +01:00
Mike Gresens
5ec71cfd33
Merge pull request #307 from octopus-prime/optional_attribute
optional_attribute
2017-12-04 11:37:51 +01:00
Nikita Kniazev
8e343697ad X3: Workaround VS2015 aliased namespace in lambda bug 2017-12-02 18:20:06 +03:00
octopus-prime
c3a83ce083 optional_attribute 2017-12-01 19:10:20 +01:00
octopus-prime
0dd6e531c8 Cleaned up 2017-12-01 15:05:44 +01:00
octopus-prime
646bce6ce7 Merged and added more tests. 2017-12-01 13:04:36 +01:00
Nikita Kniazev
9fc87a8d21
Merge pull request #297 from think-cell/thinkcell_uint_parser_overflow
fix uint_parser<T(signed)> overflow problem
2017-12-01 13:43:43 +03:00
Nikita Kniazev
80414bc688 fix qi::uint_parser<T(signed)> overflow problem 2017-12-01 03:36:33 +03:00
Nikita Kniazev
0c27beaa38 X3.Tests: Add c++14 feature checks 2017-11-28 19:33:28 +03:00
Nikita Kniazev
596079647b
Tests.Lex: Fixed dependencies race
It looks like `<implicit-dependency>` does not actually work.
2017-11-28 03:54:44 +03:00
Nikita Kniazev
0917fca9fd Tests: Improve tests
- Split Spirit v2 tests
  - Readd missing v2 tests
  - Run X3 tests
  - Remove `-p3` suffix
  - Use `<c++-template-depth>`
  - Automatic adding of subproject name prefix
  - Flatten tests declaration
2017-11-28 03:10:20 +03:00
Han Wang
b8b82630ac fix x3::uint_parser<T(signed)> overflow problem
According to spirit document,

  "All numeric parsers check for overflow conditions based on the type T the corresponding uint_parser<> has been instantiated with. If the parsed number overflows this type the parsing fails. Please be aware that the overflow check is not based on the type of the supplied attribute but solely depends on the template parameter T."

the valid input range of x3::uint_parser<T> should be 0 - std::numeric_limits<T>::max(). However, the current implementation takes values from std::numeric_limits<T>::max()+1 - std::numeric_limits<std::make_unsigned_t<T>>::max() also as valid input.
2017-11-27 17:47:10 +01:00
Nikita Kniazev
9c2d6dec93
Revert "Split Spirit v2 tests" 2017-11-26 14:45:39 +03:00
Nikita Kniazev
5e2c3f4f9a Qi.Tests: grammar_fail, rule_fail: Fixed unused variable warnings 2017-11-25 19:01:04 +03:00
Nikita Kniazev
cc9e4a83cb
Merge pull request #290 from Kojoley/split-tests
Split Spirit v2 tests
2017-11-25 17:17:32 +03:00
Nikita Kniazev
a21b0b33f5 Split Spirit v2 tests 2017-11-25 14:40:54 +03:00
octopus-prime
bc2cf3112b Enabled tests for container support 2017-11-24 09:01:56 +01:00
octopus-prime
74f67517c3 Bugfix and tests for issue #287 "x3 cannot parse into associative
containers anymore".
2017-11-23 15:26:28 +01:00
Nikita Kniazev
5ba6bd8f90
Merge pull request #285 from Kojoley/fix-warnings
Fixed bunch of warnings
2017-11-21 19:56:16 +03:00
Nikita Kniazev
a4c9940658 X3.Tests: symbol3: Extra semicolon warning 2017-11-21 19:49:37 +03:00
Nikita Kniazev
dd95a89c8b X3.Tests: expect: Suppress operator precedence warnings 2017-11-21 19:49:37 +03:00
Nikita Kniazev
39618ddced X3.Tests: binary: Fixed unused variable warnings 2017-11-21 19:49:37 +03:00
Nikita Kniazev
519f9db94b Qi.Tests: real: Fixed accumulator type 2017-11-21 19:49:37 +03:00
Nikita Kniazev
625fbc6cd9 Karma.Tests: regression_real_policy_sign: Fixed unused parameter warning 2017-11-21 19:49:35 +03:00
Nikita Kniazev
d06cc5945b Karma.Tests: regression_real_scientific: Fixed semicolon after main function 2017-11-21 19:49:35 +03:00
Nikita Kniazev
4810f02271 Fixed semicolon after BOOST_FUSION_ADAPT_* 2017-11-21 19:49:35 +03:00
Nikita Kniazev
ee900333b4 Lex.Tests: set_token_value: Fixed type conversion warning 2017-11-21 19:49:35 +03:00
Nikita Kniazev
7310d850fc Support.Tests: regression_multi_pass_position_iterator: Fixed MSVC 9 compilation
Maybe will fix and MSVC 8 too. The fix found accidentally.
2017-11-16 02:50:02 +03:00
Nikita Kniazev
2f68bc829f Qi.Tests: uint1: Fixed uint8_t usage
Fixes compilation problem on MSVC 8/9
2017-11-15 22:16:23 +03:00
Nikita Kniazev
af6102948e
Merge pull request #205 from Kojoley/add-regression_real_policy_sign-to-tests-list
Karma.Tests: Added `regression_real_policy_sign.cpp` to test suite
2017-11-07 21:19:00 +03:00
Han Wang
30dfb6230a simplify with directive (3): make rvalue injection mutable 2017-08-22 15:43:34 +02:00
Han Wang
6412f88813 simplify with directive (2): add test cases 2017-08-22 12:15:42 +02:00
Nikita Kniazev
d99cdf5bd2 Tests: Removed unused argc and argv parameters 2016-08-29 19:25:23 +03:00
Nikita Kniazev
a0f34f8a34 Qi.Tests: utree1: Fixed operator precedence warnings [clang] 2016-08-27 23:32:52 +03:00
Joel de Guzman
4789aec3d9 Merge pull request #215 from Kojoley/fix-multiple-unsued-variable-warnings
Tests: Fixed multiple unused variable warnings
2016-08-26 06:23:44 +08:00
Joel de Guzman
571a928ac6 Merge pull request #216 from Kojoley/fix-bool-increment-warning
Karma.Tests: Fixed bool increment warning
2016-08-26 06:03:58 +08:00
Joel de Guzman
e5a1a06c73 Merge pull request #214 from Kojoley/fix-lex-regression_wide-warnings
Lex.Tests: Fixed multiple warning from `regression_wide` test
2016-08-26 05:51:51 +08:00
Nikita Kniazev
18324547c6 Karma.Tests: Fixed bool increment warning 2016-08-25 23:29:17 +03:00
Nikita Kniazev
bab7a9f38c Karma.Tests: Fixed unused variables warning from pattern4 test 2016-08-25 22:31:10 +03:00
Nikita Kniazev
20e588242e Lex.Tests: Fixed unused variables warning from tokendedent_handling_phoenix test 2016-08-25 22:31:10 +03:00
Nikita Kniazev
15a0012863 Lex.Tests: Fixed unused variables warnings from token_iterpair test 2016-08-25 22:31:10 +03:00
Nikita Kniazev
532c0e6fbe Lex.Tests: regression_wide: comparison between signed and unsigned
> lex/regression_wide.cpp:70:51: warning: comparison between signed and
> unsigned integer expressions [-Wsign-compare]
>          BOOST_TEST(data[sequence_counter].tokenid == tokenid);
                                                   ^
2016-08-25 21:04:24 +03:00
Nikita Kniazev
894ea490f7 Lex.Tests: regression_wide: Fixed initialization order
> lex/regression_wide.cpp:93:11: warning: field 'constant' will be
> initialized after field 'operation' [-Wreorder]
>         , constant  (L"[0-9]+(\\.[0-9]+)?", ID_CONSTANT)
>           ^
2016-08-25 21:04:24 +03:00
Nikita Kniazev
a7927b15ef Lex.Tests: regression_wide: unused typedef 'iterator_type'
> lex/regression_wide.cpp:122:52: warning:
> unused typedef 'iterator_type' [-Wunused-local-typedef]
>     typedef mega_tokens<lexer_type>::iterator_type iterator_type;
2016-08-25 21:04:24 +03:00
Nikita Kniazev
10a0fc449e Lex.Tests: regression_wide: sequence_counter signed and unsigned comparison
> lex/regression_wide.cpp:69:37: warning: comparison between signed
> and unsigned integer expressions [-Wsign-compare]
>          BOOST_TEST(sequence_counter < sizeof(data)/sizeof(data[0]));
2016-08-25 21:04:24 +03:00
Nikita Kniazev
1c243703b4 Tests: Fix warnings from support/utree.cpp test
> warning: logical not is only applied to the left
> hand side of comparison [-Wlogical-not-parentheses]
2016-08-25 17:43:07 +03:00
Nikita Kniazev
5e56037366 Karma.Tests: Added regression_real_policy_sign.cpp to test suite
The test was added in 90d65d4be7,
but still is not used in the test suite.
2016-08-17 23:04:06 +03:00
Nikita Kniazev
1ee3b7c18c Qi.Tests: Wrap r1 = r1 | eps with SPIRIT_NO_COMPILE_CHECK macro
Logic of the test is to prevent direct left recursion, but
currently because of it `b2` fails to compile `alternative.cpp`.

I have wrapped the case with `SPIRIT_NO_COMPILE_CHECK` like it
has been done in `char1.cpp` and `sequence.cpp` tests.

Actually the test fails at compilation only with std >= c++11,
but passes with std <= c++03.
2016-08-17 20:50:32 +03:00
Joel de Guzman
b328180b49 Merge pull request #191 from jefftrull/bugfix/12138
Repair plain_token_range and add tests
2016-08-06 06:19:09 +08:00
mxc-commons
88f494cb0d Fixes for PR #196 expect directive
This PR contains fixes for both issues reported by Lastique and
MarcelRaad. It makes PR #197 obsolete.

Removed obsolete dependency  of test/qi/expectd.cpp on
mxc/qitoo/qitoo.hpp. Was reintroduced by mistake.

Created qi/detail/expectation_failure.hpp. It defines the
expectation_failure template as a common dependency of expect directive
and expect operator. Removed expectation_failure from
operator/expect.hpp.

Changed version.hpp to 2.54. I did not notice that addl file in the
first place.
2016-07-19 16:42:03 +02:00
mxc-commons
aed96ba915 spirit 2 expect directive
Initial commit.
2016-07-07 00:49:18 +02:00
Jeff Trull
4c073d8891 remove excess includes and turn off debugging 2016-05-16 18:13:02 -07:00
Jeff Trull
8ac0d9b98b Fix plain_token_range and add a test for plain tokens 2016-05-16 18:11:02 -07:00
Jeff Trull
713ccb37c5 remove excess includes 2016-05-16 13:38:36 -07:00
Jeff Trull
b01b402577 Make multi_pass_iterator != operator const and add tests for istream_iterator 2016-05-16 13:36:00 -07:00
mgresens
de81dc44dd Using boost TTI library to replace hand-written TTI code. 2016-04-01 13:51:59 +02:00
Joel de Guzman
b818ca5c8d - added x3 variant test
- added x3 variant, extended variant swap member function
2016-03-30 14:06:06 +08:00
Joel de Guzman
378142659c Some cleanup 2016-03-30 06:22:47 +08:00
Joel de Guzman
76c57b6005 call c.insert(iter, f, l) or c.inser(f, l) as appropriate depending on container type. 2016-03-28 11:56:21 +08:00
Mikhail Strelnikov
a579e31229 add test case 2016-03-27 07:19:55 +03:00
octopus-prime
81c37ba431 Cleaned up tests. 2016-01-30 11:11:07 +01:00
octopus-prime
e94e7dcc12 Added static asserts for testing has_reserve_method of common
containers.
2016-01-28 09:36:35 +01:00
octopus-prime
dd80f32e5c Renamed test_container_support() to test_sequence_support(). 2016-01-26 20:10:54 +01:00
octopus-prime
2cd5e66cbf Renamed test.
Added tests for:
<map>
<unordered_map>
<boost/unordered_map.hpp>
<vector>
<list>
<deque>
<set>
<unordered_set>
<boost/unordered_set.hpp>
<string>
2016-01-26 19:55:11 +01:00
octopus-prime
793ec4292c Added test for map support. 2016-01-25 19:51:11 +01:00
Joel de Guzman
25c00abf36 disabling test for ascii>127 for now 2015-11-10 08:27:16 +08:00
Joel de Guzman
df92cb5c98 ascii char_type is now unsigned to allow 8 bits (reverted from commit 638e4ab54a) 2015-11-10 08:02:58 +08:00
Hartmut Kaiser
509b0891d7 Merge pull request #144 from vtnerd/BugFix_DuplicateAttribute
Fixed bug in karma::duplicate attribute reporting
2015-11-04 20:47:28 -06:00
Joel de Guzman
638e4ab54a ascii char_type is now unsigned to allow 8 bits 2015-11-03 09:56:14 +08:00
Joel de Guzman
72c8428090 ascii char parsers now fails instead of asserts. 2015-11-02 14:48:54 +08:00
Adrian Vogelsgesang
99c679026a X3: test case for expect directive with nested kleene star
This testcase tries to use a kleene star within an expect directive.
The test compiles but the parsed attribute is not as expected.
2015-08-20 00:31:24 +02:00
Adrian Vogelsgesang
856f88f5d1 X3: test case for char_range boundaries
ticket: https://svn.boost.org/trac/boost/ticket/11531
2015-08-09 15:37:18 +02:00
Lee Clagett
e16bec0aef Fixed bug in karma::duplicate attribute reporting 2015-07-30 23:30:33 -04:00
Lee Clagett
e09cc45812 Fixed modifier bug with karma::left_align 2015-07-20 22:57:03 -04:00
Mario Lang
b42df6fe50 X3: Fix parse_sequence with variant_attribute. 2015-07-06 23:12:48 +02:00
Mario Lang
6846946823 X3: Make use of Fusion member type deduction to simplify examples. 2015-06-15 22:30:00 +02:00
Mario Lang
f8adee2ced X3: Add test for the fix in 2a94b18e97. 2015-06-03 16:35:10 +02:00
Joel de Guzman
0a7fadd838 Merge pull request #104 from teajay-fr/feature/x3_binary
Add support for the binary parsers
2015-05-27 14:08:49 +08:00
Thomas Bernard
d5f1197790 Add support for the binary parsers 2015-05-23 15:26:45 +02:00
Mario Lang
ad507e4da1 Fix include paths.
Now the x3 testsuite builds again.
2015-05-22 09:05:47 +02:00
Mario Lang
10c13779b3 Rename {directive => extensions}/matches.hpp. 2015-05-21 22:25:37 +02:00
Mario Lang
dc4c7f824e x3::matches. 2015-05-21 21:21:31 +02:00
Mario Lang
705524b1e1 X3: no_case *is* implemented. 2015-05-20 00:07:34 +02:00
Joel de Guzman
3627a46902 more test updates and cleanup 2015-05-14 07:40:18 +08:00
Joel de Guzman
0adee06b27 cleaning up the tests 2015-05-14 02:13:24 +08:00
Joel de Guzman
c5fe8848ce added explicit force_attribute bool template parameter to rule 2015-04-08 14:34:29 +08:00
Joel de Guzman
67854cb26e Merge pull request #55 from mlang/x3/test/optional-omit
Re-enable the use of omit in test/x3/optional.cpp.
2014-11-22 01:22:24 +08:00
Joel de Guzman
eb135d77c4 Big negative exponents now fail parsing instead of a runtime assertion. 2014-11-07 20:09:37 +08:00
Joel de Guzman
b7c04a2374 Big exponents now fail parsing instead of a runtime assertion. 2014-11-07 18:23:19 +08:00
Joel de Guzman
6832dc2298 fixing various corner case bugs. the new implementation uses integers
for intermediate computations to improve precision.
2014-11-07 18:23:19 +08:00
Joel de Guzman
27d8c7e2f4 Merge pull request #67 from teajay-fr/bug/gcc_4.9.1_support
Change the language feature set option for gcc
2014-11-06 08:45:53 +08:00
Joel de Guzman
c0d6ed357b Fixes Trac #10755 "Wrong overflow checking with uint_parser<uint8_t,
10, 1, 3>"
2014-11-06 08:38:06 +08:00
Thomas Bernard
8237380a16 Change the language feature set option for gcc 2014-11-06 00:34:39 +01:00
Thomas Bernard
fec70d409c Merge branch 'x3-devel' into feature/x3_devlop_merge
Conflicts:
	include/boost/spirit/home/x3/extensions/repeat.hpp
	test/x3/Jamfile

Add support for no_case to the bool parsers
2014-11-01 23:43:02 +01:00
Joel de Guzman
d9678d5d50 Merge pull request #62 from vtnerd/BugFix-NullTermination
Fixed bug with null-termination and string containers.
2014-10-19 12:48:58 +08:00
Lee Clagett
726a930dc6 Fixed bug with null-termination and string containers. 2014-10-18 23:56:15 -04:00
Thomas Bernard
e4d195ef29 Merge branch 'x3-devel' of https://github.com/boostorg/spirit into feature/x3_no_case
Conflicts:
	include/boost/spirit/home/x3/string/literal_string.hpp

Finalized the no_case handling based on the corrected encoding handling
2014-10-18 10:15:49 +02:00
Thomas Bernard
92bd34bd79 Corrected the seperation of the literal string from their sizes in the
any_char operator()
Reactivated all the char set tests
2014-10-15 23:00:58 +00:00
Thomas Bernard
7bde4c42ff Add as_parser templates to handle on char strings as char_ instead of
literal_string
2014-10-13 09:30:41 +00:00
Thomas Bernard
a4e043101c Add the char_set and char_range parser 2014-10-12 17:16:07 +00:00
Thomas Bernard
eec3ff5316 Fix the char encoding specific generators for all the string literal
parsers
2014-10-12 15:57:55 +00:00
Thomas Bernard
89cb0c3b69 Remove the development target 2014-10-12 14:11:18 +00:00
Thomas Bernard
60cca11616 Implement the no case directive for the symbols parser 2014-10-12 14:10:03 +00:00
Thomas Bernard
eb9f42adc7 Reactivate some test which pass 2014-10-07 23:25:45 +00:00
Thomas Bernard
ad9d0429a0 Use a less invasive case_compare type extraction from the context 2014-10-07 23:19:36 +00:00
Thomas Bernard
aa7ca423e4 Add the no_case context to the any_parser tests 2014-10-06 23:10:46 +00:00
Thomas Bernard
ea72c747af Make the char class parser no_case compatible.
Make all no_case tests pass.
2014-10-05 23:26:19 +00:00
Thomas Bernard
4b1fab071d Make no case directive compilable
Added helpers to parse no case strings
Fixed some include locks
Do not pass the encoding as runtime parameter to the parsing helpers
2014-09-21 22:41:22 +00:00
Mario Lang
707ae80ce7 Re-enable the use of omit in test/x3/optional.cpp. 2014-09-13 09:52:22 +02:00
Thomas Bernard
5a74952057 Add no case directive 2014-09-09 22:26:41 +00:00
Thomas Bernard
89d14edb05 Add no_case test cases 2014-09-08 22:05:52 +00:00
Joel de Guzman
31f4416286 added tests for DBL_MAX, DBL_EPSILON, DBL_MIN and DBL_DENORM_MIN 2014-09-05 11:45:45 +08:00
Joel de Guzman
5b5ccf2e49 fixes Ticket #10193 2014-08-11 17:52:24 +08:00
Joel de Guzman
d2afc02c2d - temporarily disabling some karma tests
- wrapped the affected tests in #if defined(BOOST_SPIRIT_ZERO_PROBLEM)
2014-07-15 11:08:13 +08:00
Joel de Guzman
bcd6f561ad Merge branch 'develop' 2014-07-10 08:07:16 +08:00
Tomoki Imai
f84d869ec8 Change from BOOST_TEST to BOOST_TEST_EQ for better information. 2014-06-16 13:44:16 +09:00
Tomoki Imai
e203a7c95d add line to run support/regression_line_pos_iterator.cpp 2014-06-14 18:55:44 +09:00
Tomoki Imai
67b3097895 Fix line_pos_iterator's column counting bug,get_current_line bug.
Add regresssion test for it.
2014-06-14 17:28:09 +09:00
K-ballo
d912186426 Revert "Merge pull request #37 from cppljevans/context_debug_fix_swap"
This reverts commit 527e54b549, reversing
changes made to 3928caeb3d.
2014-06-08 22:44:29 -03:00
Joel de Guzman
e95d80d682 added bool.cpp test 2014-06-07 08:23:32 +08:00
Lee Clagett
6825a6716f Ported confix to x3 extensions 2014-06-01 20:44:16 -04:00
Joel de Guzman
0f5844c525 Merge pull request #32 from vtnerd/bugfix/raw-handles-container
Bugfix/raw handles container
2014-05-31 13:32:18 +08:00
Lee Clagett
375ab999ed Changed the handles_container attribute of raw to always return true
The raw directive currently defers the decision of whether it can handle
a container to its subject (handles_container). If the subject cannot
handle a container, the raw directive returns false too. Since
is_container returns true for iterator_range, this creates problems with
the sequence operator that tries to call
attr.insert(attr.end(), raw_range) when handles_container of the raw
subject is false. Since the raw directive can handle container
attributes (it has for some time), it seemed best to always return true
for handles_container.
2014-05-30 08:38:59 -04:00
Joel de Guzman
29ead94468 Merge branch 'x3-devel' 2014-05-30 13:37:31 +08:00
Joel de Guzman
41cf0f5fdb minor adjustments. we're good to go. test pass. 2014-05-30 13:34:25 +08:00
Joel de Guzman
3afadd48dc Merge pull request #28 from teajay-fr/feature/x3_repeat
Feature/x3 repeat
2014-05-30 13:26:32 +08:00
Joel de Guzman
a70a53e856 Merge branch 'x3-devel' 2014-05-27 13:22:18 +08:00
Joel de Guzman
99430b8077 simplification of semantic action interface
- there are only 2 variations now f() and f(ctx)
  - added _attr(ctx) accessor for accessing the attribute
  - added _where(ctx) accessor for accessing the iterator range
this, and in preparation for a unified call interface for actions as well as lazy args to e.g. eps(f)
2014-05-26 17:03:26 +08:00
Joel de Guzman
528c1de366 made on_success mechanism as a member of the rule ID 2014-05-26 13:06:58 +08:00
Joel de Guzman
168e202365 making the rule ID more useful by making it a class where you define on_error (and later on_success) hooks. 2014-05-26 12:38:30 +08:00
Joel de Guzman
571fcb07ba fixed for new on_error interface 2014-05-25 08:34:38 +08:00
Joel de Guzman
913a092ee6 reverting previous mistakes 2014-05-25 08:29:56 +08:00
Joel de Guzman
1a960e4bba All tests are now passing. 2014-05-17 09:25:06 +08:00
Joel de Guzman
0e47e08037 added rcontext argument to parse functions 2014-05-15 21:46:25 +08:00
Lee Clagett
b77ab8b3d1 Adding test_failure to x3 test framework
The new test_failure function ensures that the first iterator argument
remains at the start position when parsing fails.
2014-05-11 10:14:41 -04:00