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