Joshua Crowgey
0edd06ec44
Removed trailing whitespace
2020-01-08 22:07:32 -08:00
Daniel Holden
5120609e6e
fixed bug with trimming string with all space characters
2019-09-01 16:21:11 -04:00
Daniel Holden
e1038bc376
Merge pull request #110 from nmeum/fix-109
...
Fix backtracing bug with mpc_parse_pipe
2019-09-01 13:58:53 -04:00
Daniel Holden
ea778d1b8d
added maximum recursion depth
2019-09-01 13:32:36 -04:00
Fotis Georgatos
f323a89923
typo: recieved -> received
2019-06-24 22:44:58 +02:00
Sören Tempel
6f5e8f0f39
Fix backtracing bug with mpc_parse_pipe
...
Before we free our buffer we need to reset the underlying stream to its
original state by pushing the buffer contents back onto the input
stream.
Fixes #109
2019-06-17 17:29:22 +02:00
Daniel Holden
dbe7308b9c
Added destructor to check combinators
2019-06-15 14:30:41 -04:00
Daniel Holden
060bf54a01
merge
2018-12-15 16:13:51 -05:00
Daniel Holden
37c4de35a3
Fixed bug with end of file and parsing from a file
2018-12-15 16:11:39 -05:00
Lzu Tao
6c03383cd1
Cast argument to unsigned char before feeding to ctype.h functions
...
The behavior of the `<ctype.h>` functions is undefined for negative
arguments (other than `EOF`). In such a situation, the argument should
be cast to `unsiged char` for safety.
References:
- C Programming: A Modern Approach, 2nd Edition: page 612, chapter 23.5
2018-11-06 14:40:04 +00:00
Daniel Holden
4a992d91ab
Added mode option to regex and also changed example from a line reader to a tokenizer.
2018-10-14 17:20:11 -04:00
Daniel Holden
fbc5d8f9ae
Added line-reader example. Changed behaviour of eof on regex to parse either eof or a newline followed be eof (better matchers other regex engines).
2018-10-13 18:27:42 -04:00
Daniel Holden
65060137b1
Adjust the behaviour of mpc_eoi so that it only is successful in matching the end of input once.
2018-10-13 17:35:21 -04:00
Richard James Howe
d3ea59b5e2
Back to -ansi, removed trailing comma
2018-05-11 00:01:41 +01:00
Richard James Howe
aa3af70ae5
Fix minor memory leak, changed standard ansi->c99
2018-05-09 19:36:00 +01:00
Jerome M. BERGER
a63bedc74a
Add mpc_checkf
and mpc_check_withf
combinators.
2018-04-03 14:53:13 +02:00
Jerome M. BERGER
6ac5594c4f
Add mpc_check
and mpc_check_with
combinators.
2018-03-23 10:50:09 +01:00
Jerome M. BERGER
1ac37a9eba
Fix a buffer overflow when optimizing or
nodes. Fixes #78 .
2018-03-20 09:35:44 +01:00
Jerome M. BERGER
9623500d0d
Fix stats for or
and and
nodes. Fixes #79 .
2018-03-20 09:34:03 +01:00
mingodad
0f7d816e80
Some small performance enhancements, reorder struct members of mpc_parser_t and remove unnecessary calls to strcmp
2017-10-10 14:29:28 +02:00
chary
6fce66bf29
fix build error with gcc 5.4
2017-03-14 15:20:09 +08:00
Sean Usher
71af0741db
Handle the case where the language definition references a non-existant rule, and ensure it fails with 'Unknown Parser'
2016-11-07 19:28:52 -08:00
Sean Anderson
43b3fdbd8a
Fixed uninitialized terminator
2016-07-04 13:33:23 -04:00
Sean Anderson
570ba8907a
Updated mpc_input_new_string to reflect changes in mpc
2016-06-29 17:31:31 -04:00
Sean Anderson
f87ce67e70
Merge branch 'master' of https://github.com/orangeduck/mpc into nparse
2016-06-29 16:23:31 -04:00
Sean Anderson
4156d72642
Added function to only parse n bytes from input
2016-06-29 14:17:46 -04:00
Daniel Holden
2a19e4c451
Fixed folding of single child asts with tags
2016-06-11 14:11:19 +01:00
Daniel Holden
14001ad332
Added test for partial grammar definition
2016-06-11 12:59:55 +01:00
petermlm
913cc58824
Made traversal free
2016-05-31 22:32:24 +01:00
petermlm
0037648c49
Identation
2016-04-19 23:26:20 +01:00
petermlm
e99b35796c
Made example for tree traversal
2016-04-19 23:21:39 +01:00
petermlm
719ca68b6c
Implemented pre order ast traversal
2016-04-19 23:14:00 +01:00
petermlm
9ac854ad5a
Made post order tree traversal
2016-04-19 22:27:32 +01:00
petermlm
aa17e0723e
2 space indentation
2016-04-17 18:51:04 +01:00
petermlm
97d634a708
Added const to declarations
2016-04-17 18:43:10 +01:00
petermlm
2b643c729b
Made functions to get child nodes of AST by tag
2016-04-17 00:17:45 +01:00
Daniel Holden
4da2ae5feb
Updated copy function to work properly with larger parsers
2016-03-03 10:34:52 +00:00
Daniel Holden
c2908c37bb
Added copy function
2016-02-20 14:44:08 +00:00
Daniel Holden
d9c3a453f2
State needs to be invalid to avoid input being expected
2015-12-13 13:22:01 +00:00
Daniel Holden
3ead545ed8
Fixed bug in error reporting
2015-12-13 13:15:10 +00:00
Daniel Holden
131c8a55d5
Added back in some optimisations to error creation
2015-11-15 22:13:13 +00:00
Daniel Holden
227dd442ae
Fixed bug in error reporting
2015-11-15 17:53:10 +00:00
Daniel Holden
99732cee30
More optimisations including a pool memory allocator and suppression of error generation when not required.
2015-11-12 15:58:05 +00:00
Daniel Holden
31889d86c3
Switched parsing to use C function stack
2015-11-10 20:25:39 +00:00
Daniel Holden
991a6e4156
Small optimisation
2015-11-09 15:02:38 +00:00
Daniel Holden
613fc26729
fixed bug. Reenabled O3.
2015-11-09 13:34:39 +00:00
Daniel Holden
f8c9429a10
Faster strfold function.
2015-11-09 13:33:06 +00:00
Daniel Holden
4932c86ec7
Fixed bug in optimisation pass.
2015-11-09 12:06:13 +00:00
Daniel Holden
4472dd4363
Added basic optimise function for parsers.
2015-11-07 16:57:09 +00:00
Daniel Holden
af81180fa9
Minor performance tweak
2015-11-07 12:51:23 +00:00