Commit graph

447 commits

Author SHA1 Message Date
Meredith L. Patterson
150e91537b helps to link against the library... 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
c58a722aef SWIG python bindings, has same typemap problem as PHP 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
551645e980 There's a typemap problem between const uint8_t* and target-language strings, but I can create parsers in python and php. 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
902ca46b4d SWIG bindings build, compile, and appear to work for python. Will port over tests next. 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
21f16ebefd invoke swig with relative path instead, -I../../ 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
eb04069817 fixed nested unions 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
34062d50a2 Import combinator and allocator APIs into SWIG. Next is glue. Need to fix unions in HParsedToken and HCaseResult. 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
4330a426e9 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-19 19:11:31 -06:00
Dan Hirsch
c58555d6a9 Added a few tests 2013-11-19 19:11:30 -06:00
Dan Hirsch
a99d7a18d1 Added auto-construction, tidied h_ch a bit 2013-11-19 19:11:30 -06:00
Dan Hirsch
a4dbfc61f2 Working python bindings 2013-11-19 19:11:30 -06:00
Dan Hirsch
42270b613d Add CFFI python bindings 2013-11-19 19:11:30 -06:00
Dan Hirsch
87581e09cb We declared some functions that were never implemented. Implement them. 2013-11-19 19:11:30 -06:00
Meredith L. Patterson
c32c5cf5ea Fixed a potential segfault; hand-initialized HParsers in h_choice and
h_sequence need PB_MIN set.

Conflicts:
	src/bindings/python/SConscript
	src/bindings/python/hammer_tests.py
2013-11-19 19:05:48 -06:00
Meredith L. Patterson
9e44bea920 commenting out assert for debugging purposes 2013-11-19 12:37:30 -06:00
Meredith L. Patterson
ccacccb750 Rewrote test_leftrec to mirror test_rightrec. It fails differently for packrat now! 2013-11-19 03:31:59 -06:00
Meredith L. Patterson
8681600365 working on fixing leftrec for packrat 2013-11-19 03:29:44 -06: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
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