Commit Graph

44 Commits

Author SHA1 Message Date
djowel
885d3ac013 Test for https://github.com/boostorg/spirit/issues/511, removing static_assert 2019-07-02 20:41:11 +08:00
Nikita Kniazev
55aa6f7556 unused_type: Added basic tests 2019-04-17 16:49:31 +03:00
Nikita Kniazev
a3cf3f2c3e X3: Fixed wrong parse_rule signature instantiation
When a rule has no attribute (leaves `Attribute` template parameter as default)
the `BOOST_SPIRIT_INSTANTIATE` macro instantiates a `parse_rule` helper function
with a wrong signature because `parse`, `phrase_parse`, and `skip_over` pass as
the attribute `unused` variable which deduces to `unused_type const&` type, but
`BOOST_SPIRIT_INSTANTIATE` instantiates `parse_rule` with `unused_type&` type.
2019-01-26 17:32:04 +03:00
Nikita Kniazev
65157bae07 extract_int: Custom integers support
It will allow to test `extract_int` properly.

Replacing `boost::integer_traits` with `std::numeric_limits` will not hurt
performance because even MSVC 9/GCC 4.1/Clang 3.0 folds `min`/`max` calls
to a constant at compile time and since C++11 they are even constexpr.
2019-01-13 01:12:09 +03:00
Nikita Kniazev
4583a4b708 Boost.System is header only since 1.69 2018-12-30 17:06:19 +03:00
Nikita Kniazev
865a6a3de4 X3.Tests: Added variable templates requirement
Also updated the readme, as Clang 3.5 does not support variable templates
(it also has some bogus warnings and broken Fusion map support).
2018-11-26 18:39:01 +03:00
Nikita Kniazev
3fbde9c195 to_utf8: Fixed wchar_t handling on Windows
Spirit were assuming that wchar_t is 32-bit and the content is UCS-4.
It is wrong, the actual representation is implementation defined [lex.ccon]/6.
However, on most Unix platforms this assumption is valid and gives the
expected outcome, but on Windows wchar_t is 16-bit and the content is UTF-16.
2018-10-28 17:43:05 +03:00
Nikita Kniazev
0887e25568 X3: Check passed attribute type 2017-12-29 20:44:36 +03:00
Nikita Kniazev
72c049499f X3: Return back omit tests 2017-12-22 02:10:02 +03:00
Nikita Kniazev
c5411ad237 X3: Reenable fusion::map support
`build_container<char>` specialization was added in 84c0c075 (#5)
2017-12-17 01:02:27 +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
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
octopus-prime
b6fa1404fa Added missing dependency to filesystem for error_handler test. 2017-12-04 17:46:52 +01:00
octopus-prime
fa2bfb1c52 Added tests for error_handler 2017-12-04 12:56:43 +01:00
Nikita Kniazev
0c27beaa38 X3.Tests: Add c++14 feature checks 2017-11-28 19:33:28 +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
octopus-prime
bc2cf3112b Enabled tests for container support 2017-11-24 09:01:56 +01: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
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
dc4c7f824e x3::matches. 2015-05-21 21:21:31 +02: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
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
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
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
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
bcd6f561ad Merge branch 'develop' 2014-07-10 08:07:16 +08: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
Thomas Bernard
642a70afb8 Revert unwanted changes 2014-05-07 17:00:16 +02:00
Thomas Bernard
a5e1c57350 Add repeat directive 2014-05-07 16:43:12 +02:00
Lee Clagett
70df6e398e Ported v2 repository seek directive to x3 extensions 2014-05-02 23:58:48 -04:00
Joel de Guzman
a129355f3e implemented raw directive 2014-05-02 10:53:16 +08:00
Joel de Guzman
7f111eb070 added with directive 2014-05-02 08:30:37 +08:00
K-ballo
955fa54406 Added type-erased parser, tests and examples 2014-04-22 12:47:04 -03:00
Joel de Guzman
16b894852a added actions test
added _fail context for forcing a faiked parse
2014-04-02 17:38:03 +08:00
Joel de Guzman
99337861f8 + Using -std=c++1y
+ Using polymorphic lambda on semantic actions
2014-04-01 18:54:33 +08:00
Joel de Guzman
be00816174 added jamfile 2014-04-01 08:10:03 +08:00