Commit Graph

353 Commits

Author SHA1 Message Date
yhirose
d4aa6e7df5 Error message support 2021-01-15 19:27:31 -05:00
yhirose
1442e3e21f Unicode char support 2021-01-15 17:27:35 -05:00
yhirose
8ad71c4adc Fixed problem with %recover 2021-01-15 16:51:36 -05:00
yhirose
0d005fb3da FIxed problems with error recovery 2021-01-15 00:05:22 -05:00
yhirose
8dc6a287f8 Added error recovery feature 2021-01-13 21:35:47 -05:00
yhirose
befdd27075 Improved error message 2021-01-10 16:02:15 -05:00
yhirose
50aaba73a3 Better error report 2021-01-09 23:28:33 -05:00
yhirose
990dac98cf Changed to use lit("") for empty exp instead of npd(dot()) 2021-01-09 20:35:15 -05:00
yhirose
9ad70096c8 Another infinite loop grammar detection. Fix #133 2021-01-09 15:12:01 -05:00
yhirose
8c68f4cff8 Fixed error report problems 2021-01-08 20:30:40 -05:00
yhirose
222466d07a Revert "Fixed error posision problem in Repetition operator"
This reverts commit 6ed41b0571.
2021-01-08 14:23:58 -05:00
yhirose
6ed41b0571 Fixed error posision problem in Repetition operator 2021-01-08 14:08:33 -05:00
yhirose
b26e2477ff C++17 support 2020-11-09 13:18:38 -05:00
yhirose
b92da07bed Fix #128 2020-11-09 12:06:48 -05:00
yhirose
b3b29ce8f3 Fix #122 2020-08-07 13:42:51 -04:00
yhirose
0061f393de Fix #121 2020-08-07 10:21:47 -04:00
yhirose
aefeb3ae35 Fix #118 2020-06-20 12:20:52 +00:00
peoro
ad1a6d27da Fix support to custom AST node types
Fixes #116
2020-06-18 16:17:27 +02:00
yhirose
c49366ad07 Use std::call_once to initialize is_word in LiteralString 2020-06-09 08:48:19 -04:00
yhirose
ff9e5d6ea3 Fix #112 2020-06-08 22:55:26 -04:00
yhirose
94578c5274 Fixed possible build errors 2020-06-07 23:52:18 -04:00
yhirose
af8f0082fc Combinators with AST action handler 2020-06-07 21:21:17 -04:00
yhirose
ef9147de08 Fixed crash in Ast action handler 2020-06-07 08:46:49 -04:00
yhirose
feebe2bb0f Added add_ast_action 2020-06-06 23:13:57 -04:00
yhirose
ffc61e8a68 Removed unnecessary code 2020-06-02 09:15:45 -04:00
yhirose
580721aa46 Fix #107 2020-06-01 19:50:46 -04:00
yhirose
072cdb6d23 Fix #109 2020-05-31 23:46:46 -04:00
yhirose
19c6c2615c Name refactoring 2020-05-25 17:31:22 -04:00
yhirose
10cc75d503 Performance improvement. Close #82 2020-05-18 01:47:12 -04:00
yhirose
ffbc58c103 Changed order of parameters in AstBase constructors 2020-05-11 21:58:30 -04:00
yhirose
51ed96c8f2 Fixed warning with enum value in switch statement 2020-04-18 21:12:55 -04:00
Patrick Scheibe
4abf5a5332 Fix missing return statement in lambda 2020-04-10 20:56:02 +02:00
yhirose
fdfd1f4267 Fixed warnings 2020-03-29 17:01:46 -04:00
yhirose
c416d84fea Regex-like repetition support. Fix #95 2020-03-28 22:56:17 -04:00
Peter Würtz
2561fd182d
Fix for u8 char C++20 incompatibility
C++20 apparently doesn't allow std::string construction from u8 literals any more.
The pre-20 behavior is restored by explicitly casting the new `char_8_t` back to `char`.
2020-03-26 09:42:58 +01:00
yhirose
f2fda77f5a Fixed warnings 2020-02-25 11:34:19 -05:00
yhirose
1b19b98cf5 Fixed problem with dictinary 2020-02-25 11:34:04 -05:00
yhirose
5b3d95e0a1 Fix #90 2020-02-11 16:50:26 -05:00
yhirose
375794e344 Support expression parsing in macro 2020-02-07 17:36:47 -05:00
yhirose
5a6bd1a60a Fixed vim setting 2020-02-07 13:56:39 -05:00
yhirose
9bdb577aaf Split test.cc 2020-02-07 13:56:08 -05:00
yhirose
038bc06343 Precedence climbing feature support 2020-02-07 10:58:34 -05:00
yhirose
b0c4aa1441 Apply clang-format 2020-02-05 14:10:00 -05:00
yhirose
9679cdcc27 Removed search method 2020-01-29 22:48:00 -05:00
yhirose
fe2d67fc88 Improved peglint trace format 2020-01-29 11:36:19 -05:00
yhirose
7d00be396b Performance improvements 2020-01-28 15:52:23 -05:00
yhirose
2180657eea Added Negated Characgter Class 2020-01-27 00:44:00 -05:00
yhirose
3dc0205ffa Handle an invalid escape sequence char 2020-01-26 23:07:12 -05:00
yhirose
13b8a46e90 Fixed C++11 bulid errors 2020-01-24 21:32:54 -05:00
yhirose
c5e356d804 Implemented infinite loop detector 2020-01-24 20:57:37 -05:00
yhirose
47616ca781 Fix #80 again 2020-01-24 19:58:02 -05:00
yhirose
5ff1caf38c Fixed int overflow problem 2020-01-24 16:07:01 -05:00
yhirose
fe6314a6e0 Fixed semantic values stack leak 2020-01-23 21:57:13 -05:00
yhirose
911a235431 Fix #84 2020-01-23 18:22:50 -05:00
yhirose
da8cae6269 Fix #80 2020-01-23 17:58:43 -05:00
yhirose
88c67cba4f Code cleanup 2020-01-23 17:35:47 -05:00
yhirose
64f205d949 Dropped old Visual C++ compiler support. 2020-01-23 17:24:00 -05:00
yhirose
250096bd08 Code cleanup 2020-01-23 17:10:33 -05:00
yhirose
0e106df04c Fix #79 2020-01-23 15:51:22 -05:00
Peter Würtz
4676115e57
Fix maybe uninitialized warning / error 2020-01-15 16:03:29 +01:00
yhirose
be470f9332 Fix #71 2019-11-29 00:57:45 -05:00
Francesco Guastella
1afa4988bc Replace peg::any with std::any (when C++17 is available) 2019-11-22 13:25:42 +01:00
yhirose
3482a08465 Fix #67 2019-08-27 20:08:48 -04:00
yhirose
9ee03a9211 Fixed build error with VS2015 2019-08-27 17:13:27 -04:00
yhirose
4d0b2b3591 Fix #66 2019-08-27 12:07:35 -04:00
yhirose
d75ced2408 Fix #68 2019-08-27 02:44:04 -04:00
yhirose
5f3a5a82e1 Fix #69 2019-08-24 00:23:09 -04:00
yhirose
2d276c8cd9 Fix #63 2019-07-09 21:49:15 -04:00
Mura
f3e88afd39
Update peglib.h
This '#else' directive does not have such extra condition in C++.
2019-04-26 09:00:38 +09:00
Yuji Hirose
55add1dacb Fix #60 2019-04-08 11:40:27 -04:00
Yuji Hirose
57f866c6ca Fixed build error 2019-02-14 10:17:21 -05:00
Yuji Hirose
b330799cd6 Added name in SemanticValues 2019-02-14 10:11:12 -05:00
yhirose
2dcdafe3cb Fixed problem with choice and choice count 2019-02-12 22:50:23 -05:00
yhirose
559836cda1 Removed enabler 2019-01-11 18:20:04 -05:00
yhirose
15c19e4a0f fix #55 2018-11-29 20:19:46 -05:00
yhirose
b76e4fe305 Keep selected rule id in AST 2018-11-16 13:36:52 -05:00
yhirose
757e81e63d fix #52. Changed to allow Action handler taking non const SemanticValues
parameter
2018-10-07 09:25:12 -04:00
yhirose
5b3ad705c4 Retab 2018-10-06 22:29:51 -04:00
yhirose
304029a8d3 fix #53 2018-10-06 17:11:51 -04:00
yhirose
c006918329 Merge branch 'unicode' 2018-09-16 12:58:10 -04:00
yhirose
452aea18cd UTF encoding support 2018-09-16 12:57:03 -04:00
yhirose
79a3c75846 Removed 'user defined rule' feature 2018-09-13 22:44:04 -04:00
Mirko
fc03a32d1f extended parameters for enter and leave callbacks 2018-09-03 23:01:22 +02:00
Mirko
99380c2d72 added method get_rule_names() to parser class 2018-09-03 21:20:05 +02:00
yhirose
6dc7b38b4e Changed operator= in Definition to return Action 2018-08-03 21:07:42 -04:00
yhirose
5445b5c2bb fix #41 2018-07-29 13:49:00 -04:00
yhirose
6584bfa5c6 Changed to setup is_token at a better place 2018-07-28 21:51:11 -04:00
yhirose
6f9d19463d Code cleanup 2018-07-27 22:47:00 -04:00
yhirose
bbd8e68b71 Macro support (fix #25) 2018-07-27 17:16:35 -04:00
Remigiusz Kołłątaj
ba6efeae90 Backporting "undefined reference to peg::enabler" fix to all versions older than 5.0.0; Fix tests to compile with clang 3.5.
Signed-off-by: Remigiusz Kołłątaj <remigiusz.kollataj@mobica.com>
2018-07-22 10:57:46 +02:00
yhirose
9c3da8d6af Name refactoring 2018-07-20 22:56:13 -04:00
yhirose
9980eea1cd Fixed problems with backreference 2018-07-20 22:09:54 -04:00
yhirose
f0d2c529ba Back reference support 2018-07-13 17:51:20 -04:00
yhirose
a77edadfa7 Added %word rule 2018-07-13 17:26:57 -04:00
yhirose
ca950520ef Removed the simple interface 2018-07-12 19:03:57 +02:00
yhirose
bfa23401e5 Removed unused function 2018-05-28 21:06:38 -04:00
yhirose
31dd2dae29 Fixed #29 2018-01-04 19:36:34 -05:00
yhirose
e72b630455 Added line_info method on SemanticValues. 2017-11-03 22:27:08 -04:00
yhirose
02c35f7752 Updated copyright and readme. 2017-08-25 09:04:02 -04:00
yhirose
dcdfd9fdb7 Changed ast_to_s to be customizable. 2017-08-17 01:39:30 -04:00
yhirose
deac9d4c42 Code cleanup 2017-06-08 23:03:21 +09:00
yhirose
79f4d90c19 Code cleanup. 2017-04-14 21:57:28 -04:00
yhirose
ff3d947fd4 Added optimize_ast 2017-03-28 22:50:05 -04:00
yhirose
6b63bd48af Added peg::udl for 'tag' user defined literal. 2017-03-25 18:28:15 -04:00
yhirose
21934dd1ce Fixed #22. 2016-10-27 20:28:03 -04:00
hvellyr
bc9234a25f Fix compiler warning about reserved identifier
Warning was (on clang-3.7):

/Users/gck/dev/cpp-peglib/test/../peglib.h:9:9: warning: macro name is a
      reserved identifier [-Wreserved-id-macro]
#define _CPPPEGLIB_PEGLIB_H_
2016-06-07 11:51:11 +02:00
hvellyr
f764e9a85d Fix warning about loss of precission 2016-06-07 11:51:07 +02:00
hvellyr
47f8eb171c Fix compiler warnings about incomplete override functions
The warning on VS2013 was:

warning C4266: 'void peg::Ope::Visitor::visit(peg::Whitespace &)' : no
  override available for virtual member function from base
  'peg::Ope::Visitor'; function is hidden

I'm surprised that this warning doesn't happen on gcc/clang though.
2016-06-07 11:50:56 +02:00
yhirose
7b78a1c00f Removed 'user defined rule' feature. 2016-06-02 17:52:21 -04:00
hvellyr
546942e389 Make use of \u2190 char optional
VS2010 is not capable of compiling source code with chars beyond the
"current code page" reliably.
2016-06-01 16:27:24 +02:00
hvellyr
8363407768 Fix compiler warnings about "hidden" names 2016-06-01 16:27:24 +02:00
hvellyr
15ce11b594 Fix compiler warning about missing "name" parameter 2016-06-01 16:27:24 +02:00
hvellyr
2b2b171cbd Fix sign/unsigned compiler warnings 2016-06-01 16:27:24 +02:00
hvellyr
5cac962f18 Fix compiler warning about "old style cast" 2016-06-01 16:27:24 +02:00
hvellyr
5d3d63cf11 Provide explicit copy operator declaration to avoid compiler warning 2016-06-01 16:27:24 +02:00
hvellyr
d95cef6c1b Fix compiler warnings about unused method parameters 2016-06-01 16:27:24 +02:00
hvellyr
f62a726166 Avoid C++14 feature in peglib.h
... which allows to use peglib.h in a C++11 only environment.
2016-06-01 16:27:24 +02:00
hvellyr
86f903b65e Fix compiler warning about unnecessary ";"
... on clang-3.7
2016-06-01 16:27:23 +02:00
yhirose
80f822ac59 Fix token problem in AST 2016-01-24 11:12:50 -05:00
yhirose
ae400aa218 Supported . 2016-01-23 22:15:15 -05:00
yhirose
5b88443270 Major change in the way to handle token boundary. 2016-01-23 22:07:25 -05:00
yhirose
9ce4597ef6 Merge branch 'master' of https://github.com/yhirose/cpp-peglib 2015-12-31 19:44:02 -05:00
yhirose
91fe3b755c Code cleanup. 2015-12-31 19:42:14 -05:00
Jerry Evans
be0ad37263 VS2013 requires return type for auto 2015-12-08 16:46:31 +00:00
yhirose
fe9141fd0f Removed noexcept. 2015-12-07 17:33:10 -05:00
yhirose
21f555639e Code cleanup. 2015-12-06 23:01:27 -05:00
yhirose
568bf15ed3 Fixed problems with the %whitespace rule. 2015-12-03 18:59:12 -05:00
yhirose
a9cea16325 Renamed 'before/after' to 'enter/exit'. 2015-12-02 22:52:18 -05:00
yhirose
69ede706f0 Fixed build errors. Switched to CMake build system completely. 2015-11-30 17:26:06 -05:00
yhirose
f33e76249a Added trace feature. 2015-11-29 23:07:02 -05:00
yhirose
1ac16f3184 Fixed incorrect semantic values with NotPredicate. 2015-11-29 13:07:06 -05:00
yhirose
80d1488b42 Fixed ast dump format problem. 2015-11-29 11:06:28 -05:00
Yuji Hirose
3f5d54f811 Removed print_ast, and added ast_to_s. 2015-11-27 15:32:17 -05:00
yhirose
a7444fa83b Fixed #8. 2015-11-26 16:48:00 -05:00
yhirose
33978023cf Added automatic whitespace skipping feature. 2015-11-26 16:48:00 -05:00
Jerry Evans
05ac20f799 Parenthesize std::min for windows.h macro collision avoidance. 2015-11-26 12:45:01 +00:00
Jerry Evans
c27602172f Fix for ancient min/max macros in windows.h
Disable constexpr for VS2013
Guard against older versions of VC++
2015-11-23 15:27:20 +00:00
yhirose
1247271966 Improved error report. 2015-11-17 06:16:46 -05:00
yhirose
5b9daaf090 Restored before/after handlers. 2015-11-17 06:10:32 -05:00
yhirose
0e23f8f0b2 Removed unnecessary code. 2015-09-25 15:21:12 -04:00
yhirose
337741e17e Fixed build errors. 2015-08-27 22:26:34 -04:00
yhirose
b9c9216788 Changed namespace/class names. 2015-08-10 16:37:56 -04:00
yhirose
23737a716b Fixed warnings. 2015-08-10 16:37:25 -04:00
yhirose
a3cfd1b8ad Handled UTF-8 codes from 0x80 as valid identifier codes. 2015-08-08 20:30:05 -04:00
yhirose
b035706a0b Fixed compile errors with g++ 5.1. 2015-08-07 23:49:21 -04:00
yhirose
5ebd01c846 Code cleanup. 2015-08-06 18:27:38 -04:00
yhirose
6fefd8ea84 Code cleanup. 2015-08-06 13:59:23 -04:00
yhirose
53ead0be7c Fixed backtracking problem. 2015-08-05 23:45:59 -04:00
yhirose
85eb054106 Fixed backtracking problem in OneOrMore. 2015-08-05 23:37:56 -04:00
yhirose
6b690dd3cb Fixed backtrack problem. 2015-08-05 22:52:08 -04:00