Commit graph

577 commits

Author SHA1 Message Date
Dan Hirsch
b0f567c090 Added new build system 2013-07-10 21:32:05 +02:00
Dan Hirsch
aed1de5ce5 Applied a bugfix from my local branch 2013-06-24 21:46:23 +02:00
Dan Hirsch
e9a7c0b83d Added new SConscript-based build system; not yet done porting 2013-06-24 21:26:07 +02:00
Dan Hirsch
ce74cf7939 Refactored regex backend to use a sparse thread list 2013-06-24 21:25:22 +02:00
Meredith L. Patterson
0d7e69767d update README: all the backends are done 2013-06-22 11:00:49 -07:00
Meredith L. Patterson
623ca6e4e8 Merge pull request #14 from pesco/GLR
GLR
2013-06-22 10:35:44 -07:00
Sven M. Hallberg
66809ceeda go back to storing engines in lists 2013-06-22 18:16:41 +02:00
Sven M. Hallberg
67681a119a finish engine merging 2013-06-22 17:40:47 +02:00
Sven M. Hallberg
23afea4b4e add demerge code path (untested) 2013-06-22 14:21:19 +02:00
Sven M. Hallberg
bf9c9b5f7a refactoring in preparation for engine merging 2013-06-22 12:51:25 +02:00
Sven M. Hallberg
8bc3b93e95 correctly use augmented grammar for test_glr() output 2013-06-21 23:53:47 +02:00
Sven M. Hallberg
34c6d868b9 commentation 2013-06-21 23:47:22 +02:00
Sven M. Hallberg
9585a5946e use lookahead stream directly for LR (terminal) lookup 2013-06-21 23:22:07 +02:00
Sven M. Hallberg
853e1fba46 split LR table representation by key type (terminals/nonterminals) 2013-06-21 22:55:04 +02:00
Sven M. Hallberg
d67e12a825 better factor out lr table writes 2013-06-21 20:52:27 +02:00
Sven M. Hallberg
534a29b7ba split h_lr_lookup into two (yet identical) functions 2013-06-21 20:21:40 +02:00
Sven M. Hallberg
c32cf709b2 eliminate the right stack; work with the HInputStream directly 2013-06-21 20:11:19 +02:00
Sven M. Hallberg
1e59e461fa make ambiguous test ignore order of precedence 2013-06-21 19:58:58 +02:00
Sven M. Hallberg
ec88580b22 make h_lrengine_step a void function again 2013-06-21 18:46:16 +02:00
Sven M. Hallberg
bf3e3c162e don't even touch the right stack on piggy-back shifts 2013-06-21 15:31:37 +02:00
Sven M. Hallberg
7cd143c0c4 piggy-back the next shift directly onto the reduce 2013-06-21 15:06:31 +02:00
Sven M. Hallberg
bbbaf1634c add an assertion checking that HLR_REDUCE is always followed by HLR_SHIFT 2013-06-21 15:00:04 +02:00
Sven M. Hallberg
f5d4ea90da add ambiguous test case for GLR 2013-06-20 11:30:30 +02:00
Sven M. Hallberg
b1e8e29774 add engine forking 2013-06-20 11:05:57 +02:00
Sven M. Hallberg
4f36fcd2c1 avoid duplicate conflict branches 2013-06-19 18:51:16 +02:00
Sven M. Hallberg
572f1c8f9e expand stub GLR backend 2013-06-19 18:22:19 +02:00
Sven M. Hallberg
ecfc0a8e62 fix conflict pretty-printing 2013-06-19 18:21:53 +02:00
Sven M. Hallberg
55c9a3d9c5 add stub GLR backend with h_glr_parse() a copy of h_lr_parse() 2013-06-19 17:20:53 +02:00
Sven M. Hallberg
54ba62bfb7 record conflicts in a special HLRAction type 2013-06-19 17:01:13 +02:00
Sven M. Hallberg
168760b10a return running state from h_lrengine_step 2013-06-19 14:16:34 +02:00
Sven M. Hallberg
409d33c916 split out h_lrengine_action() 2013-06-19 14:09:39 +02:00
Sven M. Hallberg
129d50c0ef split LR code into lr.c, lr0.c, and lalr.c 2013-06-17 20:08:25 +02:00
Sven M. Hallberg
7eff4b8d94 factor out a struct HLREngine 2013-06-17 19:11:18 +02:00
Meredith L. Patterson
3e85648844 Merge pull request #13 from pesco/LALR
LALR backend
2013-06-16 13:34:17 -07:00
Meredith L. Patterson
fdafb64762 Merge pull request #12 from pesco/recursive_indirect
Pre-allocate the result of h_desugar so recursive h_indirect works
2013-06-16 13:33:52 -07:00
Sven M. Hallberg
67b6e9666c fix a potentially uninitialized variable 2013-06-16 22:29:53 +02:00
Sven M. Hallberg
24c15f34cc augment grammar to ensure start symbol never occurs on rhs 2013-06-16 22:23:35 +02:00
Sven M. Hallberg
8d21c782e7 fix eq/hash_lalr_item to compare symbols by value 2013-06-15 21:24:27 +02:00
Sven M. Hallberg
f0cd2de55c fix match_production for the empty-sequence case 2013-06-15 20:54:53 +02:00
Sven M. Hallberg
5a57adabab some refactoring trying to get h_many to work 2013-06-15 20:30:57 +02:00
Sven M. Hallberg
9a96314931 refactor hashtable iterations to use H_FOREACH 2013-06-15 19:06:10 +02:00
Sven M. Hallberg
e56f052255 remove the extra +1 from h_arena_malloc 2013-06-15 16:04:29 +02:00
Sven M. Hallberg
a7fe3824cd minor bugfixies 2013-06-14 19:07:26 +02:00
Sven M. Hallberg
d51e13173a add LALR test suite 2013-06-14 17:36:46 +02:00
Sven M. Hallberg
1918c97e1c fix a premature arena delete 2013-06-14 17:36:30 +02:00
Sven M. Hallberg
06acbe2fb5 LALR example parses! 2013-06-14 17:17:23 +02:00
Sven M. Hallberg
bfc2433320 don't call compare function on NULL hashtable keys 2013-06-14 17:07:56 +02:00
Sven M. Hallberg
6f44ab1196 Merge branch 'recursive_indirect' into LALR 2013-06-14 12:51:48 +02:00
Sven M. Hallberg
f65b0ae82a commentation 2013-06-14 12:50:39 +02:00
Sven M. Hallberg
dfe4c3ad47 add right-recursion test for packrat and llk 2013-06-14 12:42:55 +02:00