Sven M. Hallberg
|
b488e5485f
|
always put end_token in the start symbol's follow set
|
2013-05-12 16:51:35 +02:00 |
|
Sven M. Hallberg
|
f33390a510
|
fix memory issues in benchmark.c
|
2013-05-12 02:54:28 +02:00 |
|
Sven M. Hallberg
|
fa1e59fe68
|
Revert "don't touch parser->backend in benchmark.c"
This reverts commit d81d820dca.
|
2013-05-12 01:18:46 +02:00 |
|
Sven M. Hallberg
|
75326263df
|
silence a warning when compiling with NDEBUG
|
2013-05-12 00:20:42 +02:00 |
|
Sven M. Hallberg
|
1c8764e1da
|
minor cosmetics
|
2013-05-12 00:20:27 +02:00 |
|
Sven M. Hallberg
|
fdcfc243b8
|
formatting
|
2013-05-11 23:41:47 +02:00 |
|
Sven M. Hallberg
|
d81d820dca
|
don't touch parser->backend in benchmark.c
|
2013-05-11 22:24:49 +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
|
31c5189974
|
call previous backend's free function in h_compile
|
2013-05-11 22:21:30 +02:00 |
|
Sven M. Hallberg
|
1fe6b2ade9
|
add h_packrat_free
|
2013-05-11 22:19:36 +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
|
a1105d413a
|
make h_parse_result_free a no-op on NULL
|
2013-05-11 21:45:02 +02:00 |
|
Sven M. Hallberg
|
207fc6adef
|
fix (I think?) the test case failure detection login in benchmark.c
|
2013-05-11 21:44:01 +02:00 |
|
Sven M. Hallberg
|
62d48d2f5a
|
derp, forgot that table lookup can fail
|
2013-05-11 21:41:53 +02:00 |
|
Sven M. Hallberg
|
ccdb0fa85c
|
eliminate duplication of result handling code in LL driver
|
2013-05-11 20:40:33 +02:00 |
|
Sven M. Hallberg
|
88261f69ba
|
derp, forgot to save original nonterminal in stack frame
|
2013-05-11 19:26:22 +02:00 |
|
Sven M. Hallberg
|
b6aab591ea
|
add compile and parse steps to the llk dummy test (segfaults on parse)
|
2013-05-11 19:10:39 +02:00 |
|
Sven M. Hallberg
|
c64a4e435e
|
Merge remote-tracking branch 'tq/master' into LL such that it compiles
Conflicts:
src/Makefile
src/backends/packrat.c
src/compile.c
src/hammer.h
src/internal.h
src/parsers/action.c
src/parsers/and.c
src/parsers/attr_bool.c
src/parsers/bits.c
src/parsers/butnot.c
src/parsers/ch.c
src/parsers/charset.c
src/parsers/choice.c
src/parsers/difference.c
src/parsers/end.c
src/parsers/epsilon.c
src/parsers/ignore.c
src/parsers/ignoreseq.c
src/parsers/indirect.c
src/parsers/int_range.c
src/parsers/many.c
src/parsers/not.c
src/parsers/nothing.c
src/parsers/optional.c
src/parsers/sequence.c
src/parsers/token.c
src/parsers/unimplemented.c
src/parsers/whitespace.c
src/parsers/xor.c
|
2013-05-11 19:09:22 +02:00 |
|
Sven M. Hallberg
|
b63980f137
|
add LL(1) driver
|
2013-05-11 15:14:10 +02:00 |
|
Sven M. Hallberg
|
369dbcd21f
|
actually, just cast off the const inside h_compile
|
2013-05-11 15:10:31 +02:00 |
|
Sven M. Hallberg
|
ebcfa86911
|
finish (untested) LL(1) table generation
|
2013-05-08 18:49:05 +02:00 |
|
Sven M. Hallberg
|
52f81045fc
|
start filling in h_ll_compile()
|
2013-05-08 18:04:08 +02:00 |
|
Sven M. Hallberg
|
9f5c32e205
|
add h_cfgrammar_free()
|
2013-05-08 18:02:35 +02:00 |
|
Sven M. Hallberg
|
65ee3593bd
|
compile function can't take a const parser
|
2013-05-08 18:01:55 +02:00 |
|
Sven M. Hallberg
|
af4971b265
|
add proper parse table type and lookup function
|
2013-05-08 17:04:19 +02:00 |
|
Sven M. Hallberg
|
1631e9c08f
|
constify read-only hashtable methods
|
2013-05-08 17:01:23 +02:00 |
|
Sven M. Hallberg
|
f00060b2bd
|
add (untested) predict set computation
|
2013-05-08 16:12:34 +02:00 |
|
Sven M. Hallberg
|
2943cfdfdd
|
quick fix to improve "hashing" of pointers (discard 4 least significant bits)
|
2013-05-08 16:07:51 +02:00 |
|
Sven M. Hallberg
|
66b0ed7bf1
|
move h_eq_ptr and h_hash_ptr into datastructures.c / internal.h
|
2013-05-08 15:54:29 +02:00 |
|
Sven M. Hallberg
|
5593b826e3
|
add scaffold for grammar tests and codify the dummy test case
|
2013-05-08 00:48:46 +02:00 |
|
Sven M. Hallberg
|
188d369a9b
|
move grammar analysis stuff to its own files
|
2013-05-07 23:56:47 +02:00 |
|
Sven M. Hallberg
|
dab5159550
|
rename h_grammar to h_cfgrammar
|
2013-05-07 23:37:02 +02:00 |
|
Sven M. Hallberg
|
e31e03927a
|
don't output extraneous comma in symbol sets
|
2013-05-07 18:51:42 +02:00 |
|
Sven M. Hallberg
|
16f933013a
|
represent input tokens in a way that doesn't clash with NULL
|
2013-05-07 18:47:32 +02:00 |
|
Sven M. Hallberg
|
e504c6fc36
|
add dummy test function
|
2013-05-05 22:15:40 +02:00 |
|
Sven M. Hallberg
|
d0eb2ce891
|
add pretty printers for symbol and token sets
|
2013-05-05 22:14:21 +02:00 |
|
Sven M. Hallberg
|
cd4ce77bec
|
fix derpy bugs in grammar analysis
|
2013-05-05 22:13:50 +02:00 |
|
Sven M. Hallberg
|
b28d82bdeb
|
h_hashtable_put generated double entries if the match was last in list
|
2013-05-05 22:12:05 +02:00 |
|
Sven M. Hallberg
|
5dee5fec6c
|
add grammar pretty printer
|
2013-05-05 19:34:12 +02:00 |
|
Sven M. Hallberg
|
2f81c2b400
|
fix hashtable iteration in h_hashtable_update
|
2013-05-05 19:32:23 +02:00 |
|
Sven M. Hallberg
|
916027a55f
|
take the const off static epsilon parser so h_desugar can memoize
|
2013-05-05 19:31:37 +02:00 |
|
Sven M. Hallberg
|
c26d5c114a
|
totally forgot to record the start symbol of the grammar
|
2013-05-05 11:17:57 +02:00 |
|
Sven M. Hallberg
|
2ce5d1129c
|
forgot to initialize g->follow
|
2013-04-30 21:55:44 +02:00 |
|
Sven M. Hallberg
|
950bed8b8c
|
add (untested) follow set computation
|
2013-04-30 20:17:51 +02:00 |
|
Sven M. Hallberg
|
85aaf94332
|
change sequence variants of first and derives_epsilon to take a
null-terminated array
|
2013-04-30 20:16:16 +02:00 |
|
Sven M. Hallberg
|
73a84d17b8
|
add (untested) first set analysis
|
2013-04-30 17:49:35 +02:00 |
|
Sven M. Hallberg
|
0b9c9a6a10
|
formatting
|
2013-04-30 17:49:07 +02:00 |
|
Sven M. Hallberg
|
296ffb87b6
|
const adjustments to ll backend
|
2013-04-30 17:48:24 +02:00 |
|
Sven M. Hallberg
|
209bd43f10
|
add h_hashtable_update and h_hashset_put_all
|
2013-04-30 17:45:33 +02:00 |
|
Sven M. Hallberg
|
109d60fca3
|
make hashtable keys const
|
2013-04-30 17:44:54 +02:00 |
|