Commit Graph

787 Commits

Author SHA1 Message Date
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