Sven M. Hallberg
|
384a7b9390
|
reset arena jmp_bufs at end of h_llk_parse_chunk
|
2015-12-01 17:07:04 +01:00 |
|
Sven M. Hallberg
|
2309bd6da9
|
out-of-memory support for iterative LL(k)
|
2015-12-01 16:48:01 +01:00 |
|
Sven M. Hallberg
|
d5f3e13309
|
out-of-memory handling in LL(k), LR, and GLR backends
|
2015-11-30 18:07:33 +01: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
|
42d35fb883
|
move chunk position into HInputStream and simplify internal chunk API
|
2015-09-16 23:25:36 +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
|
4f455aa97e
|
fix result bit_length for LL(k)
|
2015-09-07 15:33:50 +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
|
1276004250
|
handle suspend on lookahead at the very end of the chunk
|
2015-09-04 21:05:56 +02:00 |
|
Sven M. Hallberg
|
d4f933b2d3
|
move last_chunk flag into HInputStream
|
2015-09-04 12:55:37 +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
|
c5f2c5aa2b
|
add a missing end-of-input check in the LL(k) backend
|
2015-08-25 14:14:48 +02:00 |
|
Sven M. Hallberg
|
6875dc3e53
|
retab
|
2014-03-24 17:30:23 +01:00 |
|
Sven M. Hallberg
|
797bdb7224
|
copy source stringmap as necessary in stringmap_merge
|
2014-03-24 17:22:52 +01:00 |
|
Sven M. Hallberg
|
2b31fb0f33
|
assert: stringmap_merge's arguments should use the same memory arena
|
2014-03-24 15:49:36 +01:00 |
|
Dan Hirsch
|
69e84bcbb0
|
Added a void* user_data pointer to HPredicate
|
2013-11-23 13:01:55 -06:00 |
|
Dan Hirsch
|
e487d5435c
|
Added a void* user_data pointer to HAction
|
2013-11-23 12:53:11 -06:00 |
|
Sven M. Hallberg
|
9585a5946e
|
use lookahead stream directly for LR (terminal) lookup
|
2013-06-21 23:22:07 +02:00 |
|
Sven M. Hallberg
|
3be83c7fa2
|
set index and offset of result tokens in llk driver
|
2013-06-04 21:59:39 +02:00 |
|
Sven M. Hallberg
|
dba9d41eda
|
rename HCFStringMap to HStringMap
|
2013-06-04 21:47:09 +02:00 |
|
Meredith L. Patterson
|
8618f9cb62
|
remove useless desugar_unimplemented; revert incorrect changes to test_llk()
|
2013-05-24 20:10:21 -07:00 |
|
Meredith L. Patterson
|
02d68f6d18
|
Merge branch 'master' of https://github.com/thequux/hammer
Conflicts:
src/backends/llk.c
|
2013-05-24 20:00:41 -07:00 |
|
Dan Hirsch
|
ec404ca8fe
|
Refactored all of the desugaring code to no longer depend on memory being initialized to 0. Everything is about 12% faster now.
|
2013-05-25 03:35:42 +02:00 |
|
Sven M. Hallberg
|
0dde8ea4ee
|
remove debug output from fill_table_row
|
2013-05-24 23:04:20 +02:00 |
|
Sven M. Hallberg
|
7ce2194ff1
|
upgrade dummy example to require LL(3)
|
2013-05-24 23:00:00 +02:00 |
|
Sven M. Hallberg
|
f55ec2f1ed
|
comment wording
|
2013-05-24 22:40:00 +02:00 |
|
Sven M. Hallberg
|
cbd50ec4c3
|
temp commit some debugging stuff for posterity
|
2013-05-24 22:39:32 +02:00 |
|
Sven M. Hallberg
|
e4984fe60c
|
add an assertion that catches the infinite loop
|
2013-05-24 14:08:13 +02:00 |
|
Sven M. Hallberg
|
bd9f9293c1
|
why does this (test_llk) segfault!? driver goes into a loop.
|
2013-05-24 04:33:27 +02:00 |
|
Sven M. Hallberg
|
8da48913b1
|
don't extend table entries that are already unambiguous
|
2013-05-24 02:07:31 +02:00 |
|
Sven M. Hallberg
|
428636f3d0
|
h_predict for k>1, more debugging
|
2013-05-24 01:31:56 +02:00 |
|
Sven M. Hallberg
|
748845ca0c
|
add API for pretty-printing for grammar symbols and symbol sequences
|
2013-05-23 23:35:10 +02:00 |
|
Sven M. Hallberg
|
f6983a5041
|
debug table generation
|
2013-05-23 23:25:32 +02:00 |
|
Sven M. Hallberg
|
4c5ca5ceab
|
clean up a bit
|
2013-05-23 22:54:49 +02:00 |
|
Sven M. Hallberg
|
e5ee61029c
|
herp-a-derp, that wasn't actually done - still bugged, though
|
2013-05-23 22:19:13 +02:00 |
|
Sven M. Hallberg
|
5e3c681dbc
|
generalize most of llk.c to arbitrary k (ex. h_predict) - still bugged
|
2013-05-23 21:01:37 +02:00 |
|
Sven M. Hallberg
|
3ff32e86e4
|
make dummy example require LL(2)
|
2013-05-23 14:42:43 +02:00 |
|
Sven M. Hallberg
|
2c8d76d7ea
|
refactor and bughunt unsuccessfully trying to find out why
h_first(2, ...) won't give me length-2 strings
|
2013-05-22 22:45:25 +02:00 |
|
Sven M. Hallberg
|
f5d5c36756
|
generalize grammar analysis to k>1
|
2013-05-22 20:38:36 +02:00 |
|
Sven M. Hallberg
|
91c04314a4
|
refactor h_llk_lookup to take the input stream as argument
|
2013-05-20 21:28:16 +02:00 |
|
Sven M. Hallberg
|
c794be5b6f
|
consider HCF_CHARSET terminal symbols (as the LL driver already treats them)
|
2013-05-14 16:15:58 +02:00 |
|
Sven M. Hallberg
|
623fd6b030
|
add "reshape" action to HCFChoice
|
2013-05-14 11:54:43 +02:00 |
|
Sven M. Hallberg
|
0431528065
|
detect parse error in llk dummy test
|
2013-05-14 11:51:54 +02:00 |
|
Sven M. Hallberg
|
fdcfc243b8
|
formatting
|
2013-05-11 23:41:47 +02:00 |
|
Sven M. Hallberg
|
f1810d8be6
|
make h_llktable_free a no-op on NULL, just to be safe
|
2013-05-11 22:22:02 +02:00 |
|
Sven M. Hallberg
|
286458f58a
|
parser->data got renamed to backend_data, also h_llk_free
|
2013-05-11 22:02:59 +02:00 |
|
Sven M. Hallberg
|
62d48d2f5a
|
derp, forgot that table lookup can fail
|
2013-05-11 21:41:53 +02:00 |
|