Meredith L. Patterson
dd5cc15a2b
shave off another ~500ns/iter by not initialising HLeftRecs we'll never use
2015-10-04 17:07:59 +02:00
Meredith L. Patterson
99ca500d2b
Don't try to recall() primitive results
2015-10-04 15:32:32 +02:00
Meredith L. Patterson
4fed9327a4
now both clang and gcc have coverage without any dumb hacks
2015-10-04 02:53:54 +02:00
Meredith L. Patterson
755b771ee2
more thorough comments
2015-10-03 22:26:40 +02:00
Meredith L. Patterson
969d768205
Don't cache dummy results for primitive parsers.
2015-10-03 17:54:11 +02:00
Meredith L. Patterson
578ac05154
add platform.h to distribution headers
2015-10-03 14:32:54 +02:00
Meredith L. Patterson
fea3a69d4b
Merge pull request #149 from pesco/fix-charset_bits
...
Allocate 256 bits, not 256 bytes, for a charset
2015-09-26 17:45:41 +02:00
Sven M. Hallberg
f3011f8263
allocate 256 bits, not 256 bytes, for a charset
2015-09-25 16:48:32 +02:00
Sven M. Hallberg
c770fbab1b
add regression test for charset over-allocation
2015-09-25 16:47:07 +02:00
Sven M. Hallberg
df179eba43
fix conflict resolution with charset productions
2015-09-25 01:28:52 +02:00
Sven M. Hallberg
520884739c
cosmetic changes
2015-09-24 16:33:13 +02:00
Sven M. Hallberg
65dbcf56fc
make sure LALR doesn't confuse terminal symbols in the enhanced grammar
2015-09-24 16:29:56 +02:00
Sven M. Hallberg
09db791089
Merge branch 'fix-lalr_bugs' into iterative
2015-09-17 16:40:13 +02:00
Sven M. Hallberg
9edef88bbc
fix a formatting error in h_pprint_stringmap
2015-09-17 16:39:22 +02:00
Sven M. Hallberg
a4179fca02
note why token position is not set correctly by LL(k) right now
2015-09-17 00:33:14 +02:00
Sven M. Hallberg
6094deda96
report correct token position from LR backends
2015-09-17 00:19:22 +02:00
Sven M. Hallberg
caf00006f3
add iterative API to LALR backend
2015-09-16 23:43:30 +02:00
Sven M. Hallberg
ff55937e00
split out h_pprint_lr_info for debugging purposes
2015-09-16 23:42:18 +02:00
Sven M. Hallberg
42d35fb883
move chunk position into HInputStream and simplify internal chunk API
2015-09-16 23:25:36 +02:00
Sven M. Hallberg
e385e0e5de
Merge branch 'fix-lalr_bugs' into iterative
2015-09-16 22:21:53 +02:00
Sven M. Hallberg
cdd1289936
fix printing of "negative" byte values
2015-09-16 22:17:31 +02:00
Sven M. Hallberg
7319c48e59
fix reshape for h_many
2015-09-16 20:06:24 +02:00
Sven M. Hallberg
db95cda229
add regression test for wrong nesting of h_many/h_sequence results with CFG backends
2015-09-16 20:06:06 +02:00
Sven M. Hallberg
3eb2a2023d
add a comment regarding another CHARSET case
2015-09-16 18:51:16 +02:00
Sven M. Hallberg
422f88c4aa
handle charset left-hand-side in LALR compile
2015-09-16 18:43:52 +02:00
Sven M. Hallberg
31c460780f
add regression test for unhandled charset left-hand-side case in LALR compile
2015-09-16 18:23:32 +02:00
Sven M. Hallberg
5b4550ab0f
make MARK a constant that points to itself
2015-09-08 16:19:45 +02:00
Sven M. Hallberg
fb5122ec88
fix result bit_length for LR backends
2015-09-07 15:37:26 +02:00
Sven M. Hallberg
4f455aa97e
fix result bit_length for LL(k)
2015-09-07 15:33:50 +02:00
Sven M. Hallberg
29434869d5
add result_length test
2015-09-07 11:05:06 +02:00
Sven M. Hallberg
bfb795b093
add window buffer to look across chunk boundaries
2015-09-06 14:48:51 +02:00
Sven M. Hallberg
73e92f04df
save kmax in HLLkTable
2015-09-06 14:48:41 +02:00
Sven M. Hallberg
8995097a1d
let's just use ((void *)-1) as another invalid pointer result
2015-09-05 22:43:49 +02:00
Sven M. Hallberg
90b6f30fa1
add a test that needs to suspend on lookahead in the middle of a chunk
2015-09-04 21:06:50 +02:00
Sven M. Hallberg
1276004250
handle suspend on lookahead at the very end of the chunk
2015-09-04 21:05:56 +02:00
Sven M. Hallberg
010a1a36ff
int_range test does not work for regex backend
2015-09-04 16:48:01 +02:00
Sven M. Hallberg
d4f933b2d3
move last_chunk flag into HInputStream
2015-09-04 12:55:37 +02:00
Sven M. Hallberg
28fa93d4cc
make overrun flag a bool to match its usage
2015-09-04 12:54:00 +02:00
Sven M. Hallberg
d3fd0da7b7
don't skip tests on compile failure anymore
2015-09-04 12:48:10 +02:00
Sven M. Hallberg
932c9717d7
oops, forgot about the lookahead
2015-09-04 12:34:34 +02:00
Sven M. Hallberg
10fde548ad
add a test for iterative parsing
2015-09-03 19:58:39 +02:00
Sven M. Hallberg
0231dc141e
add iterative API to LL(k) backend
2015-09-03 19:18:07 +02:00
Sven M. Hallberg
f1d6d0bc5e
split h_llk_parse into start/chunk/finish internally
2015-09-03 19:15:57 +02:00
Sven M. Hallberg
2845a9391e
add API and backend hooks for iterative (chunked) parsing
2015-09-03 15:03:01 +02:00
Sven M. Hallberg
c5f2c5aa2b
add a missing end-of-input check in the LL(k) backend
2015-08-25 14:14:48 +02:00
Nicolas Léveillé
9557448ae6
Introduce {v,}asprintf for windows
...
We have now again two functions called h_platform_vasprintf and
h_platform_asprintf. On windows they are implemented in terms of vsnprint
and the like. On BSD/GNU libraries we use the supplied vasprintf and
asprintf.
2015-08-16 16:46:52 +02:00
Nicolas Léveillé
124b4c381b
regex_debug.c: Stop including dlfcn.h
...
Since the block of code has been disabled anyway and is not very
portable, we introduce a define to control both the include
and the code.
2015-08-16 16:21:21 +02:00
Nicolas Léveillé
e74e23d672
Change system_allocator to store size of blocks only for debugging
...
Storing the size of the blocks is now only activated when DEBUG__MEMFILL
has been defined.
2015-08-16 09:15:20 +02:00
Nicolas Léveillé
d9ae097533
Remove void pointer arithmetics in system_allocator.c
...
We replace instances of void* w/ char* arithmetics.
This allows system_allocator.c to be compiled with MSVC.
Also we introduce a struct to represent the size_t header.
2015-08-16 09:10:04 +02:00
Nicolas Léveillé
01333964bd
Substitute spaces for tabs
2015-08-15 15:43:46 +02:00