Commit graph

838 commits

Author SHA1 Message Date
Meredith L. Patterson
9061318dd6 Import combinator and allocator APIs into SWIG. Next is glue. Need to fix unions in HParsedToken and HCaseResult. 2013-11-16 07:56:47 +01:00
Meredith L. Patterson
c369526a4c Merge branch 'master' of https://github.com/UpstandingHackers/hammer into swig 2013-11-16 05:30:05 +01:00
Dan Hirsch
cfc633422c Add internal conditional to not use stdarg.h for SWIG use 2013-11-15 21:55:57 -06:00
Peter Johnson
c8fc061ea6 Ditch longs and long longs in favor of stdint.h types, which has cascading
effects throughout, including use of inttypes.h/PRI[ud]64 because printf() is
still stuck in a long world, conversion of %lu to %zu for printing values of
type size_t, and changing/renaming the g_check_cmp* family of functions.
2013-11-15 00:12:57 -05:00
Meredith L. Patterson
c9c282dcb4 Finished writing unit tests. Fixed a few small bugs in hammer.py. Further issues:
* "in_" and "not_in" should coerce their results to strings (i.e., chr(result))
 * TestLeftrec: success case 2 fails
 * TestChRange: success case segfaults
 * TestWhitespaceEnd: success case segfaults
 * TestAction: success case segfaults with "corrupted double-linked list"
 * TestButNotRange: segfaults, probably because of whatever's wrong with ch_range
 * TestXor: segfaults; failure case craps out with "malloc(): smallbin double linked list corrupted"
2013-11-14 15:50:58 +01:00
Dan Hirsch
06aa19e206 Added a few tests 2013-11-12 19:07:32 -06:00
Dan Hirsch
390bbd32f1 Added auto-construction, tidied h_ch a bit 2013-11-08 17:20:00 -05:00
Dan Hirsch
8928c04456 Working python bindings 2013-11-07 22:34:27 -05:00
Dan Hirsch
f8604f5c76 Add CFFI python bindings 2013-11-01 18:01:44 -04:00
Dan Hirsch
78b7904c5a We declared some functions that were never implemented. Implement them. 2013-11-01 18:00:50 -04:00
Meredith L. Patterson
035e0c0ba2 Merge pull request #43 from thequux/g-check-parse-ok
Changed parser test macros so that _parse_ok just checks whether the mat...
2013-11-01 10:40:49 -07:00
Dan Hirsch
71209dc97b Changed parser test macros so that _parse_ok just checks whether the match succeeded and _parse_match actually checks the resulting parse tree 2013-11-01 13:39:37 -04:00
Meredith L. Patterson
cd067aab74 Merge pull request #42 from thequux/standalone-test-suite
Made test-suite work on its own
2013-11-01 10:28:11 -07:00
Dan Hirsch
ce0829de33 Made test-suite work on its own 2013-11-01 12:39:01 -04:00
TQ Hirsch
274cbe38a9 Merge pull request #41 from thequux/install-target
Added install target
2013-10-31 11:42:12 -07:00
Dan Hirsch
64b5e307d2 Added install target 2013-10-29 17:35:37 -04:00
TQ Hirsch
4361c16c7e Merge pull request #39 from thequux/binding-support
Binding support
2013-10-28 07:22:40 -07:00
Dan Hirsch
cccb5f09ec Added build system for C++ 2013-10-28 09:58:18 -04:00
Meredith L. Patterson
43f1d70a5f Merging JakobR's OS X build changes. 2013-10-18 12:14:18 +02:00
Meredith L. Patterson
0db4925469 Revert "C++ tests set up. They probably don't compile; need to write iostream ops for prettyprinting and set up C++ build in scons." Should have branched it.
This reverts commit 6a29277db4.
2013-09-03 05:33:30 +02:00
Meredith L. Patterson
6a29277db4 C++ tests set up. They probably don't compile; need to write iostream ops for prettyprinting and set up C++ build in scons. 2013-09-03 05:32:21 +02:00
Meredith L. Patterson
691f3fb547 Many apparently requires a template specialization. This is absurd, but whatever. I'll ask stackoverflow. 2013-08-11 01:13:07 +02:00
Meredith L. Patterson
2e76cf2acf and now in_range works too. YEAH. 2013-08-09 22:49:16 +02:00
Meredith L. Patterson
2408106191 C++ bindings getting underway. 2013-08-09 18:45:26 +02:00
Dan Hirsch
65e688db5a Fixed clang implicit type cast warning 2013-07-11 23:44:28 +02:00
Dan Hirsch
6a5487b9b8 Fixed a build warning due to ignoring the return value of asprintf. 2013-07-11 23:18:25 +02:00
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
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