Commit Graph

118 Commits

Author SHA1 Message Date
Carlos Rueda
afbaab89fe remove mpcf_maths from mpc.c and adjust maths test 2023-01-05 15:51:14 -08:00
Khairul Azhar Kasmiran
6e3d2d54aa Fix -Wformat-overflow warnings due to gcc 12 + ASAN + -O2 2022-10-11 13:17:47 +00:00
Daniel Holden
e507d34428 Merge github.com:orangeduck/mpc 2020-07-19 08:54:16 -04:00
Daniel Holden
41aecb485e fixed renaming of mpcf_freefold to mpcf_all_free 2020-07-19 08:53:43 -04:00
Liumeo
248540274d Fix long format 2020-04-07 22:30:34 -04:00
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