Commit graph

263 commits

Author SHA1 Message Date
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
Sven M. Hallberg
24ed1bec53 wording fix 2013-04-28 17:04:49 +02:00
Sven M. Hallberg
5edb4b41be always place at least one element in g->nts 2013-04-28 16:57:14 +02:00
Sven M. Hallberg
3ff6de5d8a add (untested) "derives epsilon" analysis 2013-04-27 23:20:13 +02:00
Sven M. Hallberg
da75a7ae9a add grammar representation functions and WIP LL scaffold 2013-04-27 04:24:09 +02:00
Sven M. Hallberg
88091b602f wrap all allocs of HParser in helper h_new_parser 2013-04-27 04:17:47 +02:00
Sven M. Hallberg
3dfc313118 try to clean up and debug desugar_many 2013-04-27 03:40:21 +02:00
Sven M. Hallberg
fd10e83bfe add alias(es) for HHashSet from HHashtable 2013-04-27 00:55:55 +02:00
Sven M. Hallberg
7180169af4 save a parser's desugared form when h_desugar is called on it for the first time 2013-04-27 00:55:42 +02:00
Sven M. Hallberg
1325ebcdd1 add LL backend stub 2013-04-17 15:10:33 +02:00
Sven M. Hallberg
e73377fbda actually use the chosen backend in benchmark, was always PB_MIN 2013-04-17 15:09:24 +02:00
Meredith L. Patterson
808d216145 Merge pull request #6 from zaxtax/master
Adds desugar indirection
2013-03-17 13:31:02 -07:00
Rob Zinkov
4e11c90664 Adding desugar 2013-03-17 13:25:02 -07:00
Dan Hirsch
f7246e9589 Forgot to actually add desugaring function 2013-03-16 14:47:31 -07:00
Dan Hirsch
ffd050e603 Added generic form of desugaring functions 2013-03-16 14:30:15 -07:00
Meredith L. Patterson
5df9db015c h_ch's return type is uint, not bytes; fixed validate_test_ab accordingly, even though it worked before with the wrong union member name (probably because token is the first thing in the struct). Oh C, stay classy. 2013-02-20 22:08:05 -05:00
Meredith L. Patterson
31665994f4 h_attr_bool didn't have tests implemented. It does now. 2013-02-20 22:03:52 -05:00
Meredith L. Patterson
22067685c3 didn't need that comment anyway 2013-02-20 21:46:25 -05:00
Meredith L. Patterson
015b82eb0e many, many1, sepBy and sepBy1 were missing some test cases. 2013-02-20 21:42:02 -05:00
Meredith L. Patterson
810c06c6db Desugaring functions are all done! But we're not ready for the CF backends yet because desugared structures still need to be stashed in the parser. 2013-02-20 21:03:34 -05:00
Meredith L. Patterson
ab89b0fd4d desugaring done for many and attr_bool 2013-02-20 20:43:16 -05:00
Dan Hirsch
101e90ad9b Implemented a bunch more desugaring 2013-02-20 18:58:15 -05:00