Commit graph

171 commits

Author SHA1 Message Date
Dan Hirsch
b9a33f2c98 More testcases work 2013-05-24 12:22:15 +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
Meredith L. Patterson
23b2be3025 Remove dladdr (Merge branch 'master' of https://github.com/thequux/hammer) 2013-05-23 17:56:36 -07:00
Dan Hirsch
c1b7d9307d On second thought, let's not use dladdr. It's a silly extension. 2013-05-24 02:56:14 +02:00
Meredith L. Patterson
6cc6e7b572 Merge tq's regex backend fixes (branch 'master' of https://github.com/thequux/hammer) 2013-05-23 17:51:56 -07:00
Dan Hirsch
de38f7bce8 Got more regex tests passing 2013-05-24 02:50:05 +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
Dan Hirsch
0600440b7c Got a lot of regex test cases working 2013-05-23 23:27:07 +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
Meredith L. Patterson
1c7e9947a4 merging in aegis' JNI bindings 2013-05-23 00:58:27 -07: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
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
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
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
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
f00060b2bd add (untested) predict set computation 2013-05-08 16:12:34 +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
5dee5fec6c add grammar pretty printer 2013-05-05 19:34:12 +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