Mario Lang
20ecf739f0
Fix some typos in docs and comments.
2015-06-24 20:45:54 +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
ecc69624af
Forgot another use of BOOST_FOREACH.
2015-05-26 11:01:34 +02:00
Mario Lang
7f7f884fcf
Use error_handler to report success && iter != end.
2015-05-21 01:56:44 +02:00
Mario Lang
4e4aa40a82
Use rexpr_type.
2015-05-19 14:42:09 +02:00
Mario Lang
71eba444a7
No need to declare rexpr_class twice.
2015-05-19 14:41:14 +02:00
Mario Lang
4229b079cd
Use '=' to assign rule names.
2015-05-19 14:39:35 +02:00
Mario Lang
9c0466fef2
Rules should be const, as advertised by docs.
2015-05-19 14:37:01 +02:00
Mario Lang
ce22f82d6a
No need for *_id typedefs.
2015-05-19 14:33:41 +02:00
Mario Lang
c69b41d547
Fix some unused local typedefs in X3 examples.
2015-05-19 12:49:53 +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
Mario Lang
38b334b51d
Kill duplicated code in annotation.hpp.
2015-05-18 02:01:46 +02:00
Ahmed Charles
ac70d6f65a
Allow rule.hpp to be included independently.
2015-05-16 18:02:10 -06:00
Ahmed Charles
e2044f0bde
Rearrange includes and add some missing includes.
2015-05-16 14:07:19 -06:00
Ahmed Charles
5b8c168f22
Remove unused namespace alias.
2015-05-16 14:07:18 -06:00
Ahmed Charles
a53f104eaa
Remove unused struct fun::error_handler_tag
.
2015-05-16 14:07:18 -06:00
Ahmed Charles
51cb406b62
Fix rexpr_full so it actually builds like the other examples.
2015-05-16 14:07:18 -06:00
Ahmed Charles
e6eb41f09d
Fix roman example for x3.
2015-05-16 13:11:30 -06:00
Ahmed Charles
cd71ff6f9a
Fix Jamfile with new example location.
2015-05-15 20:16:36 -06:00
Joel de Guzman
578091e779
- docs for rexpr tutorial
...
- minor bugfix (strings in lexeme)
2015-05-16 00:44:49 +08:00
Joel de Guzman
43d2b1b6e0
reoraganizing X3 documentation
2015-05-15 22:59:07 +08:00
Joel de Guzman
0e17b6d05d
reorganizing files into cleaner directory structures
2015-05-15 04:14:07 +08:00
Joel de Guzman
4afcc094af
more polishing
2015-05-14 21:47:03 +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
c0d05b990d
some cleanup and polish
2015-05-14 15:14:02 +08:00
Joel de Guzman
761f9a588d
rexpr_full with tests
2015-05-14 14:59:45 +08:00
Joel de Guzman
f152060988
working rexpr parser
2015-05-14 12:47:11 +08:00
Joel de Guzman
1f6f24733f
cleaning up the x3 docs
2015-05-13 22:21:32 +08:00
Joel de Guzman
5453de5cbb
partial documentation updates
2015-05-13 18:49:12 +08:00
Joel de Guzman
86fcb400a5
more tutorials available
2015-05-13 02:43:15 +08:00
Joel de Guzman
e1bf3b9458
Got all the num_list examples
2015-05-12 15:40:48 +08:00
Joel de Guzman
d38949f688
complex example
2015-05-12 14:53:55 +08:00
Joel de Guzman
62a735b7f2
more tutorials
2015-05-12 14:40:00 +08:00
Joel de Guzman
0a8fc4c147
removing outdated json lib
2015-04-16 21:52:04 +08:00
Joel de Guzman
5e4b0a7c84
X3 now works with g++4.9
2015-04-08 11:16:32 +08:00
Joel de Guzman
4afe8de7cb
X3 now works with g++2.9
2015-04-08 11:08:47 +08:00
Joel de Guzman
2baddc5f29
fixed new symbols usage
2015-04-08 07:40:50 +08:00
Joel de Guzman
5d902ee1ae
update missing #include <iostream>
2015-04-08 06:40:31 +08:00
Mateusz Łoskot
0d4d2c1f6c
Improve QString integration in custom_string.cpp
...
Improve QString integration in custom_string.cpp
There is an example of how to use Qi with Qt's QString as a custom string.
This is very helpful but it doesn't work in conjunction with the debug facilities.
The following patch fixes this by adding a couple of template specialisations.
Patch originally submitted as https://svn.boost.org/trac/boost/ticket/8846
2014-12-15 11:53:13 +01:00
Joel de Guzman
6758f42c61
Merge pull request #57 from mlang/x3/example/redundant-decls
...
Remove redundant decls which already appear in previous header.
2014-11-22 01:23:23 +08: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
6e3d372601
Prefix calcN example executables with x3_ to avoid error.
...
At least on Linux, b2 fails to link calc{7,8,9} since the exe name is identical
to the subdirectory containing the source files.
Prefix all calc examples with x3_ to actually allow to link them.
2014-11-20 21:16:37 +01:00
Mario Lang
5d6dd28e84
Decouple error_reporting.hpp from line_pos_iterator.
2014-11-18 01:15:24 +01:00
Mario Lang
0a1ef04059
Remove redundant decls which already appear in previous header.
2014-09-13 11:20:30 +02:00
Mario Lang
89ce1624d5
main.cpp of calc8 and cal9 needs <iostream> for std::cout.
2014-09-13 11:13:50 +02:00
Mario Lang
ba0a0dc832
compiler.cpp needs <iostream> for std::cout.
2014-09-13 10:34:27 +02:00
Joel de Guzman
35e09bd85e
added jamfile for the examples
2014-07-18 09:04:56 +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
af6c6482d5
porting bug fix
2014-06-07 00:11:12 +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
cb880cf323
ported qi calc2; now using lambda functions
2014-06-06 12:33:57 +08:00
Joel de Guzman
8ee51a61c8
ported qi calc1
2014-06-06 12:20:44 +08:00
Joel de Guzman
97ca172485
preparing for calc9
2014-06-06 12:10:27 +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
c21c79f9f4
Some cleanup
2014-05-26 23:28:51 +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
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
dd352e4b60
ported all grammars to the new syntax
2014-05-26 09:07:15 +08:00
Joel de Guzman
b20c23d134
adjust the examples to reflect API changes
2014-05-26 07:38:02 +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
97a3004e95
improved expression api
2014-05-17 19:21:42 +08:00
Joel de Guzman
252e712524
porting qi/calc7 to x3 calc8
2014-05-17 19:13:56 +08:00
Joel de Guzman
a73c91d14d
more cleanup
2014-05-17 17:19:41 +08:00
Joel de Guzman
2610912397
added phrase_parse_context
2014-05-17 11:56:34 +08:00
Joel de Guzman
4fa3f73caa
cleanup simplification
2014-05-17 11:25:04 +08:00
Joel de Guzman
24a11833cd
fixed error handler
2014-05-17 10:53:31 +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
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
1b95f8ee78
more simplifications.
2014-05-03 05:43:50 +08:00
Joel de Guzman
0f972edcfa
some cleanup. we'll probably keep this simply as-is (same as calc6, but modular)
2014-05-02 22:42:46 +08:00
Joel de Guzman
c9f4ec675b
based on calc6 with any_parser
2014-05-02 19:33:07 +08:00
Joel de Guzman
0a4f187bc2
restarting based on calc6
2014-05-02 18:36:46 +08:00
Joel de Guzman
a129355f3e
implemented raw directive
2014-05-02 10:53:16 +08:00
Joel de Guzman
f9e3f874cc
porting calc7 to x3
2014-05-02 08:58:53 +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
K-ballo
955fa54406
Added type-erased parser, tests and examples
2014-04-22 12:47:04 -03:00
Ruslan Baratov
bbe67a21c3
Fix some misprints in docs and code comments.
2014-04-11 16:27:54 +04:00
Joel de Guzman
16c345b44e
ported calc6 to x3
2014-04-09 23:06:09 +08:00
Joel de Guzman
0b736c5e4c
date changes
2014-04-09 22:40:45 +08: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
f88d50853c
use enum class for error_handler_result
2014-04-09 11:54:09 +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
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