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 |
|
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 |
|