Commit Graph

96 Commits

Author SHA1 Message Date
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
Daniel Holden
3643fbe6bb Fixed bug in behaviour of counting parser. Removed changelog (git is the changelog). 2015-08-28 19:20:39 +01:00
Daniel Holden
dba739cd3d merge 2015-03-10 10:46:36 +00:00
Daniel Holden
123a7919d1 Added string stripping functions 2015-03-10 10:44:29 +00:00
Michael Casebolt
24478bd6f4 Return from mpc_ast_print_depth if NULL
Return from mpc_ast_print_depth after printing 'NULL' to avoid the potential segfault.
2015-03-03 15:40:04 -08:00
Daniel Holden
3878cd76e6 print function now works for null tree 2015-02-22 17:38:47 +00:00
Daniel Holden
d6347af7b4 Fixed null termination bug in error printing 2015-02-08 10:45:14 +00:00
Daniel Holden
9481c6573c Fixed odd bug with calloc 2015-02-07 19:26:35 +00:00
David Roth
af6e3db69e Fix typos: 'MPC_PRIMITIVE' (mpc.c), and 'stripped'/'stripping' (README.md) 2014-12-10 11:55:38 -05:00
TTiga
c6a43cafe8 add a unimplemented library function 2014-12-04 15:01:58 +08:00
Daniel Holden
308ad96c75 Update mpc.c 2014-11-30 15:52:22 +00:00
Daniel Holden
f6d7d87b8b reverted state to use long type 2014-10-17 15:32:00 +01:00
Daniel Holden
5094d2c015 Removed comments describing changes. Fixed warnings reported by gcc in the test suite 2014-10-16 15:38:27 +01:00
Dalton Woodard
6efe026b25 Reverted to default standard to -ansi. Fixed warnings under compilation against -ansi. Code now builds and tests successfully under -std=c11 and -ansi on both clang (600.0.51) and gcc (4.9.1). 2014-10-15 16:23:59 -07:00
Dalton Woodard
bd9e5d98d6 Fixed all compilation warnings for mpc.c and mpc.h. Now compiles successfully on clang with -Werror and myriad warnings invoked (see Makefile for details). Compiles successfully on gcc with -Werror (ptest.c and example code does not, however). 2014-10-14 23:18:02 -07:00
Kelong Cong
5bd7aaf004 Added function to print ast to user specified file pointer 2014-07-15 22:21:54 +01:00
Daniel Holden
6af8360517 Fixed bug with mpca_lang statement delete 2014-05-05 11:04:00 +01:00
Daniel Holden
a5ed2097ea Fixed error with failure messages. Null terminated lists to mpca_lang and fixed crash. 2014-04-23 12:20:20 +01:00