Joel de Guzman
999d031b5d
Merge pull request #162 from davidlt/fix-undefined-behavior-load_little_endian-11726
...
[develop] Fix undefined behavior in ../support/detail/endian/endian.hpp (#11726 )
2015-10-20 22:30:12 +08:00
David Abdurachmanov
86705a50af
Fix undefined behavior in ../support/detail/endian/endian.hpp ( #11726 )
...
Undefined behavior sanitizer (UBSan) with GCC 5.1.1 complains about left
shifting of negative value at run-time. This happens once
boost::spirit::detail::load_little_endian is used with a singed type.
The patch resolves the issue by using unsigned type for making left shifts,
then load_little_endian casts it to specific type T.
Tested with Clang and GCC locally (test case in #11726 ) and all worked fine.
Tested by running all Boost test cases before and after, no regressions.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2015-10-19 07:46:57 +00:00
Jürgen Hunold
534cf39f15
Fix: use boost::none global instance instead of constructing it ourselves.
...
Fixes regression introduce by Boost.Optional in
9f8dd573866a48938d53eab8eade1de41e62a6b1
2015-10-05 10:33:15 +02:00
Joel de Guzman
ee39bf566b
Merge pull request #158 from Flast/variadic-fusion
...
Support variadic fusion.
2015-09-27 20:42:29 +08:00
Romain Geissler
adb0a92f50
Fix "unused locally defined typedef" in parse_tree.hpp
2015-09-23 11:58:14 +02:00
Jürgen Hunold
90027e6a8e
Fix: remove extraneous 'typename'
...
Defect introduced by new code in a4f9ea9d58
2015-09-08 20:53:58 +02:00
Joel de Guzman
cc9d51bd2a
Merge pull request #154 from stac47/fix_local_typdef
...
Fix local typedef definition warning
2015-09-07 19:57:16 +08:00
Laurent Stacul
502f4b9048
Fix local typedef definition warning
2015-09-07 11:16:00 +02:00
tobias-loew
a4f9ea9d58
reenabled support for BOOST_FUSION_ADAPT_ADT adapted structs
...
since commit 69cc537038
(hkaiser hkaiser
authored on 7 Nov 2009) spirit support BOOST_FUSION_ADAPT_ADT adapted
structs was broken
2015-08-31 10:17:25 +02:00
Adrian Vogelsgesang
7924736c8b
X3: set handles_container for expect directive
2015-08-20 00:31:29 +02:00
Sergiu Dotenco
ccb7d5c60d
fixed type conversion warnings
2015-08-15 10:16:17 +02:00
Joel de Guzman
299687301a
Merge pull request #146 from biocomp/patch-2
...
Fixing race condition on static init
2015-08-12 16:52:18 +08:00
Artem Tokmakov
d86378252b
Updated to use compile-time constants
...
Tried to minimize included headers (thus no boost::integral_const and constexpr_int).
Enum won't work for static constant for long long type, when it's not built-in (well, at least this is my understanding).
2015-08-11 00:13:22 -07:00
Adrian Vogelsgesang
a362319f36
X3: fix char_range boundaries
...
ticket: https://svn.boost.org/trac/boost/ticket/11531
2015-08-09 15:37:48 +02:00
Artem
2ec49b0177
Fixing race condition on static init
...
Static variables depend on each other and when static init is not thread-safe, this leads to race condition and failures. Ticket: https://svn.boost.org/trac/boost/ticket/11514
2015-08-05 10:48:03 -07:00
Lee Clagett
e16bec0aef
Fixed bug in karma::duplicate attribute reporting
2015-07-30 23:30:33 -04:00
Joel de Guzman
5bc397c295
Merge pull request #140 from Lastique/patch-1
...
Fix signed/unsigned mismatch warning on gcc.
2015-07-27 21:01:34 +08:00
Lee Clagett
e09cc45812
Fixed modifier bug with karma::left_align
2015-07-20 22:57:03 -04:00
Joel de Guzman
9c5dd09880
Merge branch 'master' into develop
2015-07-15 06:38:56 +08:00
Lee Clagett
a18c25b40d
Unitialized data fix
2015-07-14 15:44:37 -04:00
Andrey Semashev
eb1a197673
Fix signed/unsigned mismatch warning on gcc.
2015-07-14 10:56:18 +03:00
Andrey Semashev
b61bf56940
Fix signed/unsigned mismatch warning on gcc.
2015-07-14 10:45:36 +03:00
MaksimMyasnikov
12db838af3
https://svn.boost.org/trac/boost/ticket/7161
2015-07-14 01:05:18 +03:00
MaksimMyasnikov
f99fcf76c0
https://svn.boost.org/trac/boost/ticket/9456
...
https://svn.boost.org/trac/boost/ticket/9457
2015-07-14 00:48:19 +03:00
Joel de Guzman
2df3b8885c
Merge pull request #110 from mlang/x3/error_handler.position_of
...
Allow retrieval of the iterator_range of a position_tagged.
2015-07-09 06:42:57 +08:00
Joel de Guzman
949e499798
Merge pull request #132 from bebuch/develop
...
return type via decltype(auto)
2015-07-07 08:02:07 +08:00
Mario Lang
b42df6fe50
X3: Fix parse_sequence with variant_attribute.
2015-07-06 23:12:48 +02:00
Benjamin Roland Buch
5dadb838ce
return type via decltype(auto)
2015-07-05 17:28:54 +02:00
Benjamin Roland Buch
509029d24a
remove include duplicate
2015-07-04 17:10:30 +02:00
Kohei Takahashi
a727400a2e
Remove undocumented fusion::void_ usage.
2015-06-30 01:21:26 +09:00
Kohei Takahashi
4d8899fdfe
Remove use of deprecated fusion::vectorN.
2015-06-30 01:04:20 +09:00
Mario Lang
9b0daf9cc1
X3: Less is more.
2015-06-26 14:52:59 +02:00
Mario Lang
20ecf739f0
Fix some typos in docs and comments.
2015-06-24 20:45:54 +02:00
Mario Lang
d109f01de9
X3: We do not need integer_sequence.hpp.
2015-06-24 12:20:40 +02:00
Mario Lang
090e7a056e
X3: Simplify operator>.
2015-06-23 09:48:51 +02:00
Mario Lang
391cbb2f27
X3: Use decltype instead of result_of.
...
boost/utility/result_of.hpp is rather expensive to include.
Using decltype here makes the compile time go down by almost half a sec.
2015-06-19 09:49:26 +02:00
Joel de Guzman
c6aba10d55
Merge pull request #124 from mlang/x3/context/decltype-auto
...
X3: Eliminate two more hidden cases of get_result.
2015-06-19 09:07:21 +08:00
Mario Lang
d6b5f0d925
X3: Eliminate two more hidden cases of get_result.
...
This is a follow-up to 6ede5f7c81
.
2015-06-18 17:19:49 +02:00
Mario Lang
d87aa6846b
X3: Add another missing const&.
...
A tiny change which results in 7kb less binary size and
17.8s to 17.2s compile time reduction (GCC).
2015-06-18 16:00:04 +02:00
Mario Lang
20658b2b21
X3: Remove useless using-directives.
2015-06-17 15:46:50 +02:00
Mario Lang
6ede5f7c81
X3: [context] decltype(auto) makes get_result unnecessary.
2015-06-17 02:06:51 +02:00
Mario Lang
2f20512a3b
X3: Make use of implicit constructibility.
2015-06-16 23:46:01 +02:00
Mario Lang
53352198fa
X3: Use inheritance instead of typedef typename ...::type type;
2015-06-16 01:23:37 +02:00
Mario Lang
af73c1c209
X3: Simplify alternative::parse.
2015-06-14 19:32:25 +02:00
Mario Lang
1d7159ce0b
X3: Avoid copying the arguments to {unary,binary}_parser, sequence and alternative.
...
For consistency with the rest. Apparently, this brings the executable size
of an X3 grammar of mine down from 440936 to 420000. It also reduces
compilation time a bit, which was rather unexpected (18.3s to 17.8s).
2015-06-13 19:31:44 +02:00
Joel de Guzman
a9d7610cab
Merge pull request #84 from tabe/develop-set_end
...
fix unused parameter
2015-06-03 23:24:11 +08:00
Andrzej Krzemieński
7d1bf76803
Removed unused result_t
...
I get loads of warnings about this unused typedef when building QuickBook.
2015-06-02 17:09:32 +02:00
Mario Lang
bc20650d9e
X3: Remove unused include mpl/joint_view.hpp and add mpl/insert_range.hpp where appropriate.
2015-05-31 12:34:40 +02:00
Mario Lang
2a94b18e97
X3: Fix push_back to mpl::view in x3::sequence.
...
This is a follow-up to 20170960dc
which
fixes x3::alternative, but omitted x3::sequence.
2015-05-31 01:12:09 +02:00
Mario Lang
2995de5fa1
Allow retrieval of the iterator_range of a position_tagged.
...
position_cache allows to retrieve the iterator_range of a
position tagged AST type. However, pos_cache in error_handler<Iterator>
is private, so the iterator_range can not be retrieved from client code.
It would be useful for a "late raw" and for testing purposes.
This patch adds error_handler<Iterator>::position_of(position_tagged).
2015-05-29 11:10:15 +02:00
Mario Lang
c5b9823ae8
auto makes this simpler.
2015-05-29 02:02:40 +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
bec3383191
Remove leftover pragma once
2015-05-26 22:51:55 +02:00
Thomas Bernard
e1210dff47
Clean up and finalized the binary parser
2015-05-24 21:50:38 +02:00
Joel de Guzman
55e87419c7
c++11 coding style tweaks
2015-05-24 22:01:17 +08:00
Joel de Guzman
1c8d9b6e25
removing #pragma once clutter
2015-05-24 16:47:41 +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
Joel de Guzman
cea20165bf
- removing extensions
...
- promoting stuff from extensions to directive
2015-05-22 08:48:46 +08: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
8bd4d7078d
Add one space after 'for'.
2015-05-20 10:49:04 +02:00
Mario Lang
c13b91ac67
X3: No need for BOOST_FOREACH.
2015-05-19 22:21:33 +02:00
Mario Lang
033e52c039
Make annotation.hpp generic and move to support/utility/annotate_on_success.hpp.
...
Since X3 promotes x3::variant, we can actually make annotation.hpp
generic, avoiding copy-pastism in all the projects that make use of
basic error reporting.
2015-05-18 14:35:52 +02:00
Joel de Guzman
d91a588a78
Bu fix: trac #11313
2015-05-17 20:17:51 +08:00
Mario Lang
7404981b05
Use utf_to_utf in x3::error_handler.
2015-05-17 10:08:08 +02:00
Ahmed Charles
ac70d6f65a
Allow rule.hpp to be included independently.
2015-05-16 18:02:10 -06:00
Ahmed Charles
0debda0972
Allow string/string_literal.hpp be able to be independently included.
2015-05-16 14:25:10 -06:00
Joel de Guzman
20170960dc
bug fix x3: where we try to push_back to an mpl::view.
2015-05-16 23:59:40 +08:00
Joel de Guzman
c60d93fff3
bug fix for x3 where container attribute is substitute for the container value type. happens with recursive data structures such as vector<v> where v is a variant that also contains vector<v>.
2015-05-16 23:59:40 +08:00
Joel de Guzman
0e17b6d05d
reorganizing files into cleaner directory structures
2015-05-15 04:14:07 +08:00
Joel de Guzman
a3d667002f
Making testing a full-fledged X3 suppoty utility
2015-05-14 21:38:05 +08:00
Joel de Guzman
c45fdad1b2
Bug fix: rule IDs must have accessible on_error and on_sucess
2015-05-14 21:15:17 +08: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
63e779a2e6
added version type
2015-05-12 13:26:51 +08:00
Takeshi Abe
51ab749aae
fix another unused local typedef
2015-05-01 14:02:13 +09:00
Joel de Guzman
0956c9f494
Merge pull request #87 from tabe/develop-string_token_def
...
fix unused local typedef
2015-04-30 17:54:22 +08:00
Takeshi Abe
88086009ba
fix unused local typedef
2015-04-30 18:32:56 +09:00
James Widman
21dd555afe
Updated the check-for-self in x3::variant
2015-04-29 15:32:13 -04:00
Takeshi Abe
198d1e12e3
comment it out
2015-04-29 18:42:03 +09:00
Takeshi Abe
ab160bf58d
fix unused parameter
2015-04-29 12:32:39 +09:00
Sergiu Dotenco
4c92955cf6
fixed level 4 type conversion warning issued by msvc 12.0
2015-04-25 08:37:27 +02:00
Joel de Guzman
b427afa9ee
Merge pull request #80 from drivehappy/develop
...
Removed unused parameters, caught by clang warnings.
2015-04-23 22:23:37 +08:00
Joel de Guzman
52c8dbd6a2
Merge branch 'master' into develop
2015-04-23 08:36:11 +08:00
drivehappy
f703066b45
Re-added commented unused parameters per PR review
2015-04-21 19:09:23 -07:00
drivehappy
6d89b0ac04
Removed unused parameters, caught by clang warnings.
2015-04-21 15:04:14 -07:00
Joel de Guzman
14c87d6168
specific support for puch_back and append to std::map
2015-04-17 07:24:53 +08:00
Joel de Guzman
ac47e3d9cd
Fixes for variadic variant updates
2015-04-16 21:49:53 +08:00
Denis Trüby
0eb8830dbd
Simplyfied the name of get_line and get_column
2015-04-16 09:01:44 +02:00
Denis Trueby
c0a41f70db
Added method to the position_policy to get the current line and column in the output
2015-04-15 22:31:17 +02:00
Nicolas Cornu
1a00f87efa
Remove useless typedef to remove warning
2015-04-13 20:57:08 +02: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
5e4b0a7c84
X3 now works with g++4.9
2015-04-08 11:16:32 +08:00
Joel de Guzman
2baddc5f29
fixed new symbols usage
2015-04-08 07:40:50 +08:00
Lauri Nurmi
78afafed86
Fix spelling of "occurr*".
2015-03-29 13:30:24 +03:00
Joel de Guzman
729ffd680a
Merge pull request #70 from mlang/error_reporting/without/line_pos_iterator
...
Decouple error_reporting.hpp from line_pos_iterator.
2014-11-22 01:19:14 +08:00
Mario Lang
c0ea389a1e
Fix misplaced inline keyword.
2014-11-18 01:22:56 +01:00
Mario Lang
5d6dd28e84
Decouple error_reporting.hpp from line_pos_iterator.
2014-11-18 01:15:24 +01:00
Mario Lang
19ca8017bd
Add missing inline to avoid linker errors about duplicate definitions.
2014-11-18 01:06:15 +01:00
Joel de Guzman
e34a955f2f
Major feature adddition!!!: Allow plain rules attributes of the form T,
...
instead of strictly requiring T().
2014-11-09 17:11:55 +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
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
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
Baptiste Wicht
9113f02e5d
Macro to remove filesystem dependency
...
This patch adds the BOOST_SPIRIT_X3_NO_FILESYSTEM macro which removes the dependency on boost filesystem when enabled.
There is only one line in X3 that depends on filesystem, so I think that it is a good feature to let the user disable it if it doesn't want the dependency.
2014-11-01 14:39:17 +01:00
Kohei Takahashi
83b8adbb7a
Compliant fusion::result_of::make_map changes with variadic map.
...
Signed-off-by: Kohei Takahashi <flast@flast.jp>
2014-10-26 17:48:00 +09: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
6c0b5da3a5
Improved the formating
2014-10-18 10:24:01 +02: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
134e30e750
Add support for char sets and char ranges
2014-10-13 09:30:25 +00:00
Stephan Aiche
60464482ee
check for fist == last before dereferencing first
2014-10-13 10:08:44 +02: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
1d62676106
Simplified the case sensitive/insensitive helpers
2014-10-12 14:24:53 +00:00
Thomas Bernard
60cca11616
Implement the no case directive for the symbols parser
2014-10-12 14:10:03 +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
3f089ad131
Create a fresh no_case context for the skipper
2014-10-06 23:10:09 +00:00
Thomas Bernard
430cd5feec
Add missing template keyword for clang
2014-10-06 23:09:37 +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
1f01e90564
Use the same logic as the skipper to swap between case sensitive and
...
case insensitive parsing.
2014-10-04 23:24:20 +00:00
Thomas Bernard
c0dfd14169
Move the no case tag and the context extraction template to the support
...
folder
2014-09-24 22:39:13 +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
Thomas Bernard
5a74952057
Add no case directive
2014-09-09 22:26:41 +00:00
Maks Naumov
306f59b3af
Add the missing comparison for 'goto_state'
2014-08-23 18:40:04 +03:00
Joel de Guzman
c87d350bb6
small tweaks
2014-08-11 18:13:27 +08:00
Joel de Guzman
5b5ccf2e49
fixes Ticket #10193
2014-08-11 17:52:24 +08:00
Sergiu Dotenco
60f53babe5
suppress msvc 'conditional expression is constant' warnings
2014-08-04 14:34:30 +02:00
Thomas Bernard
ee69de777c
Fix the namespace of the karma proto domain
2014-07-21 22:35:47 +00:00
Joel de Guzman
c480d6c7fc
workaround for lexertl bug on platforms where wchar_t is signed (can be negative).
2014-07-19 08:12:53 +08:00
K-ballo
7fa39377bb
Merge remote-tracking branch 'remotes/origin/master' into develop
2014-07-16 23:35:25 -03:00
K-ballo
e6aadc7622
Cast anonymous enum to avoid instantiating Boost.Range operators
2014-07-09 21:33:39 -03:00
Joel de Guzman
bcd6f561ad
Merge branch 'develop'
2014-07-10 08:07:16 +08:00
Agustín Bergé
239ff77b0d
Merge pull request #44 from MarcelRaad/fix-msvc
...
Fix compilation with MSVC 12+
2014-07-06 23:12:44 -03:00
Joel de Guzman
0b6c62e7ef
Merge pull request #45 from MarcelRaad/fix-warnings
...
Fix MSVC compiler warnings
2014-07-06 05:42:48 +08:00
Marcel Raad
3fb27f9ce4
Fix MSVC compiler warnings
2014-07-05 19:43:16 +02:00
Marcel Raad
51e095fa54
Fix compilation with MSVC 12+
2014-07-05 19:40:54 +02:00
Marcel Raad
0baa99aff5
Add missing includes
2014-07-05 19:38:19 +02: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
cppljevans
fb8160bb59
Fix misleading output from context_debug due to swapping instead of copying.
2014-06-11 09:06:50 -05: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
527e54b549
Merge pull request #37 from cppljevans/context_debug_fix_swap
...
Context debug fix swap
2014-06-09 06:15:20 +08:00
cppljevans
b1cdd15f53
fix context_debug use in detail/rule.hpp
2014-06-08 13:50:54 -05:00
Joel de Guzman
e95d80d682
added bool.cpp test
2014-06-07 08:23:32 +08:00
Joel de Guzman
4d1c9e5af7
Merge branch 'origin/develop'
2014-06-07 07:47:45 +08:00
Joel de Guzman
132da2f01a
Merge branch 'spirit_x3'
2014-06-07 07:47:01 +08:00
Joel de Guzman
8cd6940866
added bool parser
2014-06-07 07:46:18 +08:00
Joel de Guzman
97ddf141e3
- Added calc 9 (ported from Qi calc 8).
...
- Fixed is_substitute for variants
- Fixed variant_find_substitute when Attribute and Variant is the same type
2014-06-06 23:35:09 +08:00
Joel de Guzman
97ca172485
preparing for calc9
2014-06-06 12:10:27 +08:00
Joel de Guzman
2a735d84fe
Merge branch 'temp'
2014-06-06 08:17:21 +08:00
Seth Heeren
de562e75ee
Fix assignment basic_hold_any::operator= #35 (c++11)
...
The template version would not be used because the compiler-generated
one was a closer match. The implicit assignment, however, broke the
ownership semantics.
2014-06-06 02:12:02 +02:00
Joel de Guzman
dd80c84a05
Merge branch 'master'
2014-06-06 07:05:34 +08:00
Joel de Guzman
3928caeb3d
Merge branch 'origin/master'
2014-06-06 07:03:33 +08:00
Joel de Guzman
ce24248d8f
adding testing utility
2014-06-06 07:02:35 +08:00
Seth Heeren
637bc77505
Fix assignment basic_hold_any::operator=
...
The template version would not be used because the compiler-generated
one was a closer match. The implicit assignment, however, broke the
ownership semantics.
2014-06-06 00:50:29 +02:00
K-ballo
a6c314fdb4
Cosmetic fixes to the repeat directive
2014-06-01 22:31:34 -03: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
Joel de Guzman
409059dc43
Bumped spirit version
2014-05-31 13:07:24 +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
3ac97a6e33
Merge branch 'develop'
2014-05-28 16:08:58 +08:00
Joel de Guzman
e85cf3da3f
fixed long standing operator precendence bug
2014-05-28 15:45:26 +08:00
Joel de Guzman
a70a53e856
Merge branch 'x3-devel'
2014-05-27 13:22:18 +08:00
Joel de Guzman
64e4fe1511
simpler name for bool template param
2014-05-27 06:21:09 +08:00
Joel de Guzman
fb2ab52da1
merging position_cache with error_handler
2014-05-26 20:00:45 +08:00
Joel de Guzman
faebc75274
compiler error handling looking good
2014-05-26 19:32:56 +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
b00adde370
using is_callable utility instead of proto hack
2014-05-26 14:14:30 +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
913a092ee6
reverting previous mistakes
2014-05-25 08:29:56 +08:00
Joel de Guzman
275b0bcb34
some cleanup
2014-05-24 17:29:09 +08:00
Joel de Guzman
683ed7df49
improved exception handling API: on_error(first, last, x, context)
2014-05-24 16:45:46 +08:00
Joel de Guzman
41b5b4b1a6
implemented clang-style error handling
2014-05-24 16:32:23 +08:00
Joel de Guzman
8ca164044c
- added lambda_visitor
...
- added annotation of ASTs
2014-05-19 11:53:25 +08:00
Joel de Guzman
caf19f5c7c
passing position_cache as context to our parser (for error handling)
2014-05-19 10:34:16 +08:00
Joel de Guzman
0a32d104db
incremental port again
2014-05-19 02:46:48 +08:00
Joel de Guzman
92b4f69c74
another incremental port of qi::calc7
2014-05-18 07:27:29 +08:00
Joel de Guzman
fe2a3e13bb
bumping copyright dates
2014-05-17 17:41:20 +08:00
Joel de Guzman
2610912397
added phrase_parse_context
2014-05-17 11:56:34 +08:00
Joel de Guzman
fd99b74257
Implemented BOOST_SPIRIT_DECLARE and BOOST_SPIRIT_DECLARE
2014-05-17 10:46:07 +08:00
Joel de Guzman
1a960e4bba
All tests are now passing.
2014-05-17 09:25:06 +08:00
Joel de Guzman
12ee452e27
- allow simple local rules
...
- inject the rule tag into the context ONLY IF there's no BOOST_DEFINE for that rule.
2014-05-17 08:24:52 +08:00
Joel de Guzman
1966f55985
working with the monster
2014-05-16 13:34:25 +08:00
Joel de Guzman
927dea5eb1
implementing BOOST_SPIRIT_DEFINE
2014-05-16 07:22:18 +08:00
Joel de Guzman
0e47e08037
added rcontext argument to parse functions
2014-05-15 21:46:25 +08:00
Joel de Guzman
aeb0e93865
fix for raw directive
2014-05-13 09:37:14 +08:00
Lee Clagett
3f0ec43f53
Modifying x3 seek implementation for better readability
2014-05-10 15:19:23 -04:00
Thomas Bernard
6dfba300b8
Don't use lambdas for the repeat limit evaluation
...
Comment out the not yet supported tests
Changed some variable names to improve the code clarity
2014-05-09 01:21:53 +02:00
Joel de Guzman
ba9239aa2e
Merge branch 'origin/develop'
2014-05-08 07:41:02 +08:00
Andrey Semashev
c82c039f43
Fix compilation with C++03 compilers.
...
Fix compilation with C++03 compilers (e.g. gcc 4.2.1).
2014-05-07 22:30:24 +04:00
Thomas Bernard
e1571dac5e
Remove old code
2014-05-07 16:50:41 +02:00
Thomas Bernard
a5e1c57350
Add repeat directive
2014-05-07 16:43:12 +02:00
Agustín Bergé
2aa65d92b3
Merge pull request #21 from jamboree/push/utilities
...
Added several utilities: integer_sequence, is_callable, unrefcv
2014-05-05 19:41:35 -05:00
Joel de Guzman
372437d5f5
Merge pull request #18 from K-ballo/fix-8537
...
Fix for #8537 : Qi `skip` fails when nested under two or more levels of `...
2014-05-05 07:57:39 +08:00
Lee Clagett
bb6f924aeb
Flattened extensions directory.
2014-05-03 11:14:01 -04:00
Lee Clagett
70df6e398e
Ported v2 repository seek directive to x3 extensions
2014-05-02 23:58:48 -04:00
Lee Clagett
7e8aa63eb3
Fixing compilation issue when including raw directive, or semantic action.
2014-05-02 23:39:19 -04:00
Jamboree
821c3d701e
add utility/unrefcv
2014-05-02 22:02:21 +08:00
Jamboree
4ff26b1ba5
add utility/is_callable
2014-05-02 22:01:39 +08:00
Jamboree
29d982db18
add utility/integer_sequence
2014-05-02 22:01:13 +08:00
Joel de Guzman
c9f4ec675b
based on calc6 with any_parser
2014-05-02 19:33:07 +08: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
Agustín Bergé
56a10f7b78
Merge pull request #17 from wichtounet/patch-1
...
Qualify get with x3::get
2014-05-01 17:32:59 -03:00
Joel de Guzman
adb97d5278
removed extra include
2014-05-01 16:13:40 +08:00
Joel de Guzman
f7a3280fe6
added ast utilities
2014-05-01 16:13:15 +08:00
Joel de Guzman
3da43905a9
better x3::variant interface
2014-05-01 11:52:18 +08:00
Joel de Guzman
2f2e450596
ading is_rule trait
2014-05-01 07:19:52 +08:00
Joel de Guzman
61d656e606
removing non-variadics code
2014-05-01 07:02:38 +08:00
Joel de Guzman
40b190717a
new facade-based API (reverted from commit 7f7dbe9036
)
2014-05-01 06:34:19 +08:00
Joel de Guzman
5fdfd96434
Merge pull request #15 from jamboree/develop
...
fix transform_params/ fix integer_sequence for clang (reverted from commit 29fea72576
)
2014-05-01 06:33:39 +08:00
K-ballo
f91e771d51
Fix for #8537 : Qi skip
fails when nested under two or more levels of lexeme
2014-04-26 23:53:55 -03:00
K-ballo
621e7ec143
Fixes for boost::optional explicit operator bool
2014-04-26 22:40:54 -03:00
K-ballo
1995de7249
Fixed const issue in attr_parser
2014-04-26 17:40:55 -03:00
Baptiste Wicht
51d8b948d8
Qualify get with x3::get
2014-04-26 10:53:32 +02:00
Baptiste Wicht
d9affe28c9
Qualify get with x3::get
2014-04-26 10:50:54 +02:00
Baptiste Wicht
52ad3bd463
Quality get with x3::get
2014-04-26 10:43:56 +02:00
jamboree
c298ad4c7f
fix transform_params/ fix integer_sequence for clang
2014-04-25 12:02:41 +08:00
Jamboree
7f7dbe9036
new facade-based API
2014-04-23 22:03:03 +08:00
K-ballo
9015fc5324
Moved is_parser trait to its own file
2014-04-22 14:34:26 -03:00
K-ballo
ad772933a7
Added type-erased parser, tests and examples
2014-04-22 13:55:08 -03:00
K-ballo
9fc5b68d39
Subcontext fixes and formatting
2014-04-22 13:55:08 -03:00
Joel de Guzman
dc5d47814e
various sequence handling fixes
2014-04-20 11:07:23 +08:00
Joel de Guzman
4497575589
added mising files
2014-04-18 19:48:10 +08:00
Joel de Guzman
0919f2a5d8
cleanup
2014-04-18 10:08:43 +08:00
Joel de Guzman
25b1cc6425
Fix for case where a single-element sequence is not being moved into a variant that can accept it.
2014-04-18 09:57:59 +08:00
Joel de Guzman
9c4f73a39a
moved (variant)has_substitute and (variant)find_substitute into traits
2014-04-18 09:38:23 +08:00
Joel de Guzman
4afb7f95f7
Merge pull request #12 from vtnerd/bugfix/qi_tests
...
Bugfix/qi tests
2014-04-17 07:47:49 +08:00
Lee Clagett
f0548108d3
Made alterative_function functor const to match non-specialized version.
2014-04-16 07:31:30 -04:00
Lee Clagett
d7b37aec4b
Fixed iterator rollback bug in tst_map
2014-04-13 12:03:56 -04:00
Ruslan Baratov
bbe67a21c3
Fix some misprints in docs and code comments.
2014-04-11 16:27:54 +04:00
Joel de Guzman
08a133e849
variant should be named variant. nothing else.
2014-04-09 22:25:43 +08:00
Joel de Guzman
a97fb7faf6
improved variant interface
2014-04-09 22:16:20 +08:00
Joel de Guzman
c265c80da8
added x3::ast and x3::forward_ast (specialized versions of boost::variant and boost::recursive_wrapper)
2014-04-09 15:17:02 +08:00
Joel de Guzman
26b0e9e1f0
action should be in core, not auxilary
2014-04-09 12:57:52 +08:00
Joel de Guzman
f88d50853c
use enum class for error_handler_result
2014-04-09 11:54:09 +08:00
Joel de Guzman
e24686ea6f
added on_sucess handler (complements on_error)
2014-04-09 11:40:02 +08:00
Joel de Guzman
c0c07026dc
Ported calc5 to X3 (Same as Calc4, this time, we'll incorporate debugging support, plus error handling and reporting).
2014-04-09 08:34:57 +08:00
Joel de Guzman
e1dffe91c3
impemented rule %= operator
2014-04-08 11:30:13 +08:00
Joel de Guzman
92dfab37fa
added offline error handling for rules
2014-04-07 15:26:12 +08: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
ceb4e05483
semantic actions with attributes only (no context)
2014-04-02 02:34:32 +08:00
Joel de Guzman
4a7cdc23e0
nullary semantic actions allowed
2014-04-02 02:04:41 +08:00
Joel de Guzman
7b0d142492
semantic actions with context only (no attributes)
2014-04-02 01:52:19 +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
23448524c7
Merge pull request #5 from redbaron/char-container-std-string
...
use std::string as a container for char
2014-04-01 10:53:55 +08:00
Joel de Guzman
df2e019830
Merge branch 'parse-into-fusion-map' of https://github.com/redbaron/spirit into redbaron-parse-into-fusion-map
...
Conflicts:
test/Jamfile
2014-04-01 10:50:51 +08:00
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
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
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
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
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
4f97aa987c
stop x3::lit from updating passed container
2014-03-19 22:34:31 +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
2d862e1d8d
Fix for parsing sequences with x3::unused attribute
2014-03-18 18:21:40 +00: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
c2c8d6ace2
moving headers to include to mimic modular boost structure
2014-03-18 10:30:47 +08:00
Yuri Khan
bdf4fd8d28
Fix attribute_size<optional<T> >
2014-03-03 15:19:12 +07:00
K-ballo
76f65843ce
Added changes needed by resolution of #7730
2014-02-20 20:04:28 -06:00
Joel de Guzman
5df5b42f7c
merging from develop
2014-01-22 22:33:33 +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
1d9633a9c9
Support for BOOST_SPIRIT_AUTO and qi::copy.
...
[SVN r76928]
2014-01-22 21:30:28 +08:00
Joel de Guzman
cf9db449ce
Fixed problem with handling BOOST_FUSION_ADAPT_ADT
...
[SVN r74291]
Applied patch (ticket 5716)
https://svn.boost.org/trac/boost/attachment/ticket/5716/spirit_wide_what.patch
[SVN r74292]
Reverting patch. The tests are broken with the patch!
[SVN r74293]
Fix Ticket #5867
[SVN r74299]
- using LLVM 2.9 release
- added bjam for msvc
[SVN r74310]
Fix Ticket #5867
[SVN r74323]
adding the target location in the project requirements to generate the exe in the same directory.
[SVN r74324]
Added explicit qualification for ref to avoid conflict with std::ref
[SVN r74413]
seek directive by TONGARI
[SVN r74796]
Preparing docs for release
[SVN r74709]
seek directive by TONGARI
[SVN r74797]
Adding safe-guards
[SVN r74831]
typo fix
[SVN r74837]
Spirit: Removing bogus static_assert
[SVN r74838]
Added rvalue support for rule %=
[SVN r74876]
Added rvalue support for rule %=
[SVN r74877]
Added rvalue support for rule %=
[SVN r74878]
Spirit: adding rvalue reference overload for lexer::operator+=(), fixes regressions caused by recent proto changes
[SVN r74892]
Added rvalue support for symbols %=
[SVN r74905]
Added rvalue support for symbols %=
[SVN r74906]
Replace spirit and phoenix documentation with a redirect.
[SVN r74983]
Spirit: applying Vitaly Budovski's patch adding binary floating point parsers and generators
[SVN r75105]
Docs for the seek directive
[SVN r75108]
Docs for the seek directive
[SVN r75321]
C++11 patches by Michel Morin
[SVN r75395]
Spirit: adding get<> overload to extended_variant
[SVN r75469]
+ more get overloads
+ returning references instead of values
[SVN r75484]
Spirit: fixing check for Boost version for endian, when will we finally get that library?
[SVN r75710]
added longest match test
[SVN r75735]
Spirit: fixed #6253 : lex::lexertl::generate_static_dfa compiler errors if lexer has wchar_t as underlying stream type
[SVN r75910]
Spirit: making sure qi::attr is in the documentation index
[SVN r75916]
fixes Ticket #6259
[SVN r75931]
Spirit: fixed #6284 : qi_parsers/numeric.htm documentation defects
[SVN r76022]
Spirit: disambiguate cref.
[SVN r76046]
Spirit: fixed spelling (fixed #6003 : occured is spelled occurred)
[SVN r76152]
Spirit: fixed spelling (fixed #6003 : occured is spelled occurred)
[SVN r76153]
Spirit: added a missing typename
[SVN r76194]
Spirit: improving error reporting from lexer tokens
[SVN r76248]
Spirit: fixing copy/paste error
[SVN r76284]
Spirit: fixing signed/unsigned mismatch warning
[SVN r76285]
Spirit: changing c-style cast to static_cast
[SVN r76289]
Spirit: Fixing problems in karma::center[] directive
[SVN r76381]
Spirit: fixed karma::subrule
[SVN r76382]
Spirit: fixed Karma examples
[SVN r76383]
Spirit: fixed #6368 : [multi_pass] clear_queue isn't forwarded to the storage policy
[SVN r76384]
Spirit: updating docs
[SVN r76385]
Spirit: Fixed a problem in Karma when a variant holding a container was used as a generator inside a sequence.
[SVN r76462]
Removing deprecated headers
[SVN r77230]
Added note on the removal of deprecated headers.
[SVN r77243]
Fix: still no Boost.Endian available
[SVN r77400]
teajay's keyword patches
[SVN r77428]
fix for identifier rule not allowing identifiers that start with a keyword (e.g. fortify)
[SVN r77966]
Solving the darn endian problem in Spirit once and for all. I should have done this a long time ago.
[SVN r78156]
patches from teejay
[SVN r78313]
Whitespace should be + not *.
[SVN r78358]
Big fix allowing "script" greater that 63
[SVN r78524]
Missing `endsect` in spirit docs.
[SVN r78732]
Fixed wrong link
[SVN r78905]
Update classic spirit tests which use boost::TIME_UTC (now TIME_UTC_).
[SVN r79653]
Fixed char->char_type
[SVN r79764]
Fix #4372 : spirit::info violates STL container requirements
[SVN r80121]
test overlapping symbols
[SVN r80800]
#7431 Warning fixes in spirit
[SVN r80815]
readding proper file structure
[SVN r81004]
Spirit: Fixing inspect problems
[SVN r81794]
Spirit: More inspect fixes
[SVN r81795]
Spirit: Fixing problem in result size computation for Karma sequence involving variants
[SVN r81896]
Spirit: another attempt to fix the sequence compilation problem in Karma when variants are involved
[SVN r81910]
Spirit: applying final patch for variant/sequence issue in Karma
[SVN r81917]
Spirit: adding missing 'const'
[SVN r81926]
Spirit: Adding proper return type handling to variant visitor
[SVN r81928]
Spirit: cleaning up visitor
[SVN r81929]
Spirit: made it finally compile again.
[SVN r81938]
Spirit: applying patch fixing qi::stream EOF behavior
[SVN r82078]
Spirit: fixing inspect errors
[SVN r82191]
Additional msvc warning removal
[SVN r82347]
Fix #7900 : karma indirect_iterator returns reference to temporary
[SVN r82521]
Fix #8381 : karma::uint_generator fails to compile in C++11 mode
[SVN r83776]
Spirit: making sure destructor of temporary stream is called in the right places
[SVN r83926]
Fix #8066 : Conflict with Boost.Log on GCC 4.4
[SVN r84118]
Fix #8563 : Compilation error with boost::spirit::lex::less actor
[SVN r84285]
Fixes #9027
[SVN r85415]
Spirit: Fixing clang regressions
[SVN r85421]
Simplified code for overflow handling: looking at the code i see now that it is actually safer to always check for overflow by default. most architectures have 2s complement anyway, so the optimization only happens on some obscure architecture where ints do not wrap (also for floats--they do not wrap as well). i'll simply have ints check for overflow *always* and provide a CP for special types that the user can specialize for optimization.
[SVN r85440]
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifdef...#endif blocks.
[SVN r86243]
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifndef...#else...#endif blocks.
[SVN r86245]
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
Process #ifdef...#else...#endif blocks.
[SVN r86246]
Restored check for unsupported compilers
[SVN r86387]
Add Boost.Build support for the Git modular layout, using links to to new header locations, thus preventing breakage to vast amounts of user code and build setups. Being added to SVN so that changes will automatically propagate to Git and modular Boost. Thanks to Steven Watanabe, Jürgen Hunold, Vladimir Prus, and Bjørn Roald for developing this patch. Steven in particular conceived the approach and did the initial implementation, which was further refined by the other contributors.
[SVN r86392]
Removing phoenix-2 for good ( good bye I will miss you )
2014-01-22 20:54:33 +08:00
K-ballo
f14c110dd0
More work for supporting new boost::variant interface
2014-01-21 19:08:26 -06:00
Jürgen Hunold
7a21658eaf
use BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES to select variadic macro support code
2014-01-21 19:08:25 -06:00
K-ballo
f86068f830
Fixed #9238 : BOOST_VARIANT_USE_VARIADIC_TEMPLATES support
2014-01-18 14:15:14 -06:00
K-ballo
1470417fa4
Fixed issue with EOF in stream parser
2013-12-14 21:55:33 -06:00
K-ballo
c7983a0b28
Fixed issue with mutable applied to references in pass_container
2013-12-14 14:08:24 -06:00
Joel de Guzman
c0537c8251
Removing phoenix-2 for good ( good bye I will miss you )
2013-12-14 09:52:07 +08:00
Agustín K-ballo Bergé
c1597829ba
Restored check for unsupported compilers
...
[SVN r86387]
2013-10-22 00:10:55 +00:00
Andrey Semashev
57c788714e
Fixed missing #includes that broke Boost.Log compilation.
...
[SVN r86331]
2013-10-16 14:49:13 +00:00
Hartmut Kaiser
de26ca955c
Merging from trunk
...
[SVN r86266]
2013-10-12 17:46:00 +00:00
Stephen Kelly
17c6d9d699
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifdef...#else...#endif blocks.
[SVN r86246]
2013-10-11 23:19:17 +00:00
Stephen Kelly
b5d0c2f3c9
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifndef...#else...#endif blocks.
[SVN r86245]
2013-10-11 23:17:48 +00:00
Stephen Kelly
d16398ac3b
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifdef...#endif blocks.
[SVN r86243]
2013-10-11 23:13:10 +00:00
Stephen Kelly
f936e6710f
Spirit: Remove obsolete GCC version checks.
...
[SVN r86061]
2013-09-30 15:56:04 +00:00
Stephen Kelly
3807071c42
Spirit: Remove obsolete MSVC version check.
...
[SVN r86034]
2013-09-30 00:20:31 +00:00
Stephen Kelly
39dd7666e7
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2013-09-26 13:02:51 +00:00
Agustín K-ballo Bergé
1247e4b4a6
Silence int to bool conversion warnings
...
[SVN r85924]
2013-09-26 00:16:19 +00:00
Stephen Kelly
c33e14c4e7
Spirit: Remove obsolete MSVC version checks
...
[SVN r85906]
2013-09-25 13:53:02 +00:00
Agustín K-ballo Bergé
e895a826f9
Spirit X3 unused
...
[SVN r85769]
2013-09-18 01:32:03 +00:00
Joel de Guzman
2a893944ee
Simplified code for overflow handling: looking at the code i see now that it is actually safer to always check for overflow by default. most architectures have 2s complement anyway, so the optimization only happens on some obscure architecture where ints do not wrap (also for floats--they do not wrap as well). i'll simply have ints check for overflow *always* and provide a CP for special types that the user can specialize for optimization.
...
[SVN r85440]
2013-08-24 02:32:49 +00:00
Hartmut Kaiser
9d42641cd5
Spirit: Fixing clang regressions
...
[SVN r85421]
2013-08-22 14:36:22 +00:00
Joel de Guzman
57225b9688
Fixes #9027
...
[SVN r85415]
2013-08-21 13:34:02 +00:00
Joel de Guzman
89c9a8f547
Fixes ticket #9007
...
[SVN r85399]
2013-08-20 05:11:14 +00:00
Hartmut Kaiser
90d65d4be7
Fixed #8970 : Karma fails to output a sign with a user-defined real number policy
...
[SVN r85221]
2013-08-06 13:36:38 +00:00
Hartmut Kaiser
0487573880
Spirit: fixed #3999 : multi_pass cannot deal with all input iterators
...
[SVN r85178]
2013-07-31 15:23:12 +00:00
Joel de Guzman
e8282972be
Merge changes from trunk
...
[SVN r85051]
2013-07-16 10:46:32 +00:00
Hartmut Kaiser
e3094e5a6f
Spirit: Merging from trunk
...
[SVN r85046]
2013-07-15 17:24:24 +00:00
Hartmut Kaiser
81b9bb40b0
Spirit: fixing a problem in karma::omit
...
[SVN r84814]
2013-06-17 13:11:30 +00:00
Hartmut Kaiser
59d9d69917
Merging from trunk
...
[SVN r84745]
2013-06-11 19:49:19 +00:00
Hartmut Kaiser
5c8bd9fefb
Removing superflous typename
...
[SVN r84744]
2013-06-11 19:46:49 +00:00
Hartmut Kaiser
b88eece0a6
Spirit: Merging from trunk
...
[SVN r84640]
2013-06-04 19:29:46 +00:00
Hartmut Kaiser
4915ddcfc1
Spirit: Fixed #8563 : Compilation error with boost::spirit::lex::less actor
...
[SVN r84631]
2013-06-04 15:16:52 +00:00
Hartmut Kaiser
2d46425ad4
Spirit: merging from trunk
...
[SVN r84286]
2013-05-14 23:46:54 +00:00
Hartmut Kaiser
fc83d23f2a
Fix #8563 : Compilation error with boost::spirit::lex::less actor
...
[SVN r84285]
2013-05-14 23:43:46 +00:00
Andrey Semashev
c0ad0c00cc
Fixed accidental previous commit.
...
[SVN r84255]
2013-05-12 18:13:08 +00:00
Andrey Semashev
14f4b73ef7
Merged from trunk: By default, when 32 bit x86 build is requested, i686 instruction set is chosen now. i386 instruction set removed since de facto it is not supported by some core libraries (Boost.Atomic and Boost.SmartPtr) and major operating systems. The minimum 32 bit x86 instruction set is i486 now. Also added a few more instruction sets that appeared in recent CPUs.
...
[SVN r84254]
2013-05-12 18:02:44 +00:00
Hartmut Kaiser
0f3fe1e6cd
Spirit: merging from trunk
...
[SVN r84119]
2013-05-02 19:51:13 +00:00
Hartmut Kaiser
37ef3b7591
Fix #8066 : Conflict with Boost.Log on GCC 4.4
...
[SVN r84118]
2013-05-02 19:48:25 +00:00
Hartmut Kaiser
590a2c203f
Spirit: Merging from trunk
...
[SVN r83927]
2013-04-16 12:48:05 +00:00
Hartmut Kaiser
0f52ab8636
Spirit: making sure destructor of temporary stream is called in the right places
...
[SVN r83926]
2013-04-16 12:16:39 +00:00
Hartmut Kaiser
6ae7c1548f
Spirit: merging from trunk
...
[SVN r83840]
2013-04-10 22:51:13 +00:00
Hartmut Kaiser
892d8ec125
Fix #8381 : karma::uint_generator fails to compile in C++11 mode
...
[SVN r83776]
2013-04-06 14:36:38 +00:00
Andrey Semashev
f4df95f2d0
Fixed compilation on compilers with support for static_assert.
...
[SVN r83754]
2013-04-03 19:16:59 +00:00
Hartmut Kaiser
94d5862df7
Spirit: Merging from trunk
...
[SVN r83739]
2013-04-03 13:17:15 +00:00
Hartmut Kaiser
ae8b2b54b3
Spirit: fix #8361 : Linking problems with MSVC
...
[SVN r83738]
2013-04-03 13:13:12 +00:00
Hartmut Kaiser
c275ac9291
Spirit: Merging trunk
...
[SVN r83487]
2013-03-18 11:31:16 +00:00
Hartmut Kaiser
29f6fcdaa0
Fix #8302 : Lexer does not relase iterator - excellent catch!
...
[SVN r83486]
2013-03-18 11:28:33 +00:00
Hartmut Kaiser
f7f2dd4d9a
Merging Spirit fixes
...
[SVN r83463]
2013-03-16 14:46:00 +00:00
Hartmut Kaiser
2b4c331e70
Fix #8291 : Lexer fails to work on ARM
...
[SVN r83462]
2013-03-16 14:39:51 +00:00
Hartmut Kaiser
3e013475ab
Fix #6248 : multi_pass_iterator not flushed automatically by expectation operator
...
[SVN r83461]
2013-03-16 14:36:12 +00:00
Hartmut Kaiser
82cc0ae61a
Applying patch fixing a double destruction in detail::hold_any
...
[SVN r83414]
2013-03-13 13:32:21 +00:00
Joel de Guzman
8b0085e735
Fixes #8186
...
[SVN r83367]
2013-03-09 04:41:33 +00:00
Joel de Guzman
2acebaf994
Fixes #7942
...
[SVN r82658]
2013-01-28 16:37:15 +00:00
Hartmut Kaiser
2f0efa2e73
Spirit: merging from trunk
...
[SVN r82574]
2013-01-20 23:59:21 +00:00
Hartmut Kaiser
ad53d2e841
Fix #7900 : karma indirect_iterator returns reference to temporary
...
[SVN r82521]
2013-01-17 13:33:58 +00:00
Hartmut Kaiser
e189d62237
Spirit: Fixing merge problem
...
[SVN r82376]
2013-01-06 17:02:08 +00:00
Joel de Guzman
ba8a13f60e
Additional msvc warning removal
...
[SVN r82347]
2013-01-04 01:39:50 +00:00
Hartmut Kaiser
d161baf9c6
Spirit: Merging from trunk
...
[SVN r82080]
2012-12-18 13:58:38 +00:00
Hartmut Kaiser
597226c96d
Spirit: applying patch fixing qi::stream EOF behavior
...
[SVN r82078]
2012-12-18 13:51:21 +00:00
Hartmut Kaiser
14a3ecbd1b
Spirit: made it finally compile again.
...
[SVN r81938]
2012-12-14 12:19:53 +00:00
Hartmut Kaiser
82793e0a2f
Spirit: cleaning up visitor
...
[SVN r81929]
2012-12-14 01:46:48 +00:00
Hartmut Kaiser
30a5922b0b
Spirit: Adding proper return type handling to variant visitor
...
[SVN r81928]
2012-12-14 01:45:34 +00:00
Hartmut Kaiser
ca3846a070
Spirit: more merging from trunk
...
[SVN r81927]
2012-12-14 01:38:53 +00:00
Hartmut Kaiser
61f33e28c0
Spirit: adding missing 'const'
...
[SVN r81926]
2012-12-14 01:36:53 +00:00
Hartmut Kaiser
67bc27c8b8
Spirit: merging from trunk
...
[SVN r81918]
2012-12-13 22:06:53 +00:00
Hartmut Kaiser
f032c41553
Spirit: applying final patch for variant/sequence issue in Karma
...
[SVN r81917]
2012-12-13 22:02:42 +00:00
Hartmut Kaiser
8643b8ede0
Spirit: another attempt to fix the sequence compilation problem in Karma when variants are involved
...
[SVN r81910]
2012-12-13 19:22:53 +00:00
Hartmut Kaiser
26c38cb6fa
Spirit: Fixing problem in result size computation for Karma sequence involving variants
...
[SVN r81896]
2012-12-13 13:34:54 +00:00
Hartmut Kaiser
a597dccfc7
Spirit: merging from trunk
...
[SVN r81797]
2012-12-08 16:31:17 +00:00
Hartmut Kaiser
96bcbe9149
Spirit: More inspect fixes
...
[SVN r81795]
2012-12-08 15:58:14 +00:00
Hartmut Kaiser
3ba8b8b8ed
Spirit: applying Karma unicode patch
...
[SVN r81746]
2012-12-06 17:41:53 +00:00
Joel de Guzman
32eccfa2ab
Renamed nil to nil_
...
[SVN r81721]
2012-12-05 13:43:00 +00:00
Hartmut Kaiser
7ba00397d2
Spirit: adding karma::output_iterator::base() to access underlying output iterator
...
[SVN r81454]
2012-11-21 14:29:35 +00:00
Marshall Clow
b641d1f212
Remove usage of deprecated macros
...
[SVN r81451]
2012-11-21 02:54:04 +00:00
Hartmut Kaiser
7aa7ebd3c1
Spirit: fixed #7635 : Karma real generators output "inf" when attribute is integral 0
...
[SVN r81160]
2012-11-03 15:16:56 +00:00
Hartmut Kaiser
dfc9377eff
Spirit: fixing some eol inconsistencies.
...
[SVN r81157]
2012-11-03 14:21:02 +00:00
Hartmut Kaiser
4fc9b6950f
Spirit: Applied patch provided by Agustín K-ballo Bergé - thanks!
...
[SVN r81156]
2012-11-03 14:19:54 +00:00
Joel de Guzman
d6019ede00
#7431 Warning fixes in spirit
...
[SVN r80815]
2012-10-02 03:11:48 +00:00
Hartmut Kaiser
5015803741
Merging from trunk
...
[SVN r80282]
2012-08-28 14:53:40 +00:00
Hartmut Kaiser
e7c747b925
Fix #4372 : spirit::info violates STL container requirements
...
[SVN r80121]
2012-08-21 20:04:06 +00:00
Joel de Guzman
5834ea40d5
Fixed char->char_type
...
[SVN r79764]
2012-07-27 01:38:17 +00:00
Joel de Guzman
969698a8ce
Big fix allowing "script" greater that 63
...
[SVN r78524]
2012-05-21 01:17:33 +00:00
Joel de Guzman
7884de5ae6
patches from teejay
...
[SVN r78313]
2012-05-03 00:50:19 +00:00
Joel de Guzman
88d8410203
Reapplying hkaiser's fix
...
[SVN r78206]
2012-04-26 09:23:54 +00:00
Joel de Guzman
8e4a06ab66
Merge from trunk
...
[SVN r78177]
2012-04-24 02:05:47 +00:00
Hartmut Kaiser
f5ec29cfd5
Merging from trunk
...
Fixed #6179 : spirit fatal error: 'boost/endian/integers.hpp' file not found
[SVN r78157]
2012-04-23 12:11:17 +00:00
Hartmut Kaiser
4ab6efc226
Solving the darn endian problem in Spirit once and for all. I should have done this a long time ago.
...
[SVN r78156]
2012-04-23 12:08:56 +00:00
Joel de Guzman
41f73d0ca4
fix assign_to_attribute_from_iterators where Attribute is a container of iterator_range
...
[SVN r77713]
2012-04-02 12:22:30 +00:00
Joel de Guzman
e94213cc2d
Test downstream merge
...
[SVN r77711]
2012-04-02 04:41:54 +00:00
Joel de Guzman
065a76b8b5
test upstream merge
...
[SVN r77710]
2012-04-02 04:40:09 +00:00
Joel de Guzman
003c6950de
Bumped version number to 2.53
...
[SVN r77512]
2012-03-24 08:32:11 +00:00
Joel de Guzman
5a4c19445e
fix for ticket #6714
...
[SVN r77434]
2012-03-20 15:14:44 +00:00
Joel de Guzman
bedb4b7e30
teajay's keyword patches
...
[SVN r77429]
2012-03-20 10:20:16 +00:00
Jürgen Hunold
e718d52cf1
Fix: still no Boost.Endian available
...
[SVN r77400]
2012-03-19 09:57:26 +00:00
Joel de Guzman
46d5263eb6
Removing deprecated headers
...
[SVN r77230]
2012-03-05 14:33:28 +00:00
Joel de Guzman
42bd7448ed
Support for BOOST_SPIRIT_AUTO and qi::copy.
...
[SVN r76960]
2012-02-10 01:58:02 +00:00
Joel de Guzman
bec81f8ead
Support for BOOST_SPIRIT_AUTO and qi::copy.
...
[SVN r76930]
2012-02-07 06:17:47 +00:00
Joel de Guzman
0bf8a800ab
Support for BOOST_SPIRIT_AUTO and qi::copy.
...
[SVN r76928]
2012-02-07 06:12:49 +00:00
Hartmut Kaiser
ef42d4535d
Spirit: Fixed a problem in Karma when a variant holding a container was used as a generator inside a sequence.
...
[SVN r76462]
2012-01-13 18:46:11 +00:00
Hartmut Kaiser
678feb8425
Spirit: merging from trunk
...
[SVN r76386]
2012-01-09 14:36:46 +00:00
Hartmut Kaiser
57046fdbbf
Spirit: fixed #6368 : [multi_pass] clear_queue isn't forwarded to the storage policy
...
[SVN r76384]
2012-01-09 13:53:14 +00:00
Hartmut Kaiser
997501b084
Spirit: fixed karma::subrule
...
[SVN r76382]
2012-01-09 13:51:18 +00:00
Hartmut Kaiser
4cb423d7db
Spirit: Fixing problems in karma::center[] directive
...
[SVN r76381]
2012-01-09 13:47:25 +00:00
Hartmut Kaiser
a2866ebf4e
Spirit: changing c-style cast to static_cast
...
[SVN r76289]
2012-01-03 01:14:27 +00:00
Hartmut Kaiser
ed424f5135
Spirit: fixing signed/unsigned mismatch warning
...
[SVN r76285]
2012-01-03 00:33:33 +00:00
Hartmut Kaiser
32c7a15bd5
Spirit: fixing copy/paste error
...
[SVN r76284]
2012-01-03 00:30:23 +00:00
Hartmut Kaiser
54a5dba46d
Spirit: improving error reporting from lexer tokens
...
[SVN r76248]
2011-12-31 19:39:42 +00:00
Hartmut Kaiser
7d7e4b55bb
Spirit: added a missing typename
...
[SVN r76194]
2011-12-26 18:59:50 +00:00
Hartmut Kaiser
4e636cb8ef
Spirit: fixed spelling ( fixed #6003 : occured is spelled occurred)
...
[SVN r76152]
2011-12-25 18:03:21 +00:00
Hartmut Kaiser
0d39ce2fcf
Spirit: disambiguate cref.
...
[SVN r76046]
2011-12-18 17:41:52 +00:00
Hartmut Kaiser
7261177938
Spirit: fixed #6253 : lex::lexertl::generate_static_dfa compiler errors if lexer has wchar_t as underlying stream type
...
[SVN r75910]
2011-12-12 00:48:40 +00:00
Hartmut Kaiser
30805fa7a7
Spirit: merging endian fix from trunk
...
[SVN r75711]
2011-11-28 13:00:11 +00:00
Hartmut Kaiser
63b6417cee
Spirit: fixing check for Boost version for endian, when will we finally get that library?
...
[SVN r75710]
2011-11-28 12:31:00 +00:00
Joel de Guzman
33028c63d0
+ more get overloads
...
+ returning references instead of values
[SVN r75484]
2011-11-14 10:31:35 +00:00
Hartmut Kaiser
db068a6406
Spirit: adding get<> overload to extended_variant
...
[SVN r75469]
2011-11-12 22:49:34 +00:00
Joel de Guzman
b39d8c5d24
C++11 patches by Michel Morin
...
[SVN r75395]
2011-11-07 22:57:31 +00:00
Hartmut Kaiser
8cfd595355
Spirit: applying Vitaly Budovski's patch adding binary floating point parsers and generators
...
[SVN r75105]
2011-10-24 15:05:44 +00:00
Hartmut Kaiser
3423c9e478
Spirit: merging bugfix from trunk (caused by changes in proto)
...
[SVN r74915]
2011-10-11 11:30:19 +00:00