Commit graph

729 commits

Author SHA1 Message Date
Joe Rozner
76034ae4d7 Install internal headers for Go bindings
Go, and likely other language bindings will, need access to create
new combinators. This functionality is currently located
src/parsers/parser_internal.h. Install this header to the system with
dependent headers until a better solution can be found.
2013-11-21 12:02:18 -08:00
Dan Hirsch
a98272b8c0 Reduce IRC spam 2013-11-20 15:37:24 -06:00
TQ Hirsch
87c380f82c Merge pull request #56 from jrozner/master
Clean up pyc
2013-11-20 13:27:47 -08:00
Joe Rozner
f1a5844523 Ignore pyc files 2013-11-20 13:26:00 -08:00
Joe Rozner
dbe0785e2c Remove pyc file 2013-11-20 13:25:09 -08:00
TQ Hirsch
d1394ea558 Merge pull request #55 from jrozner/master
Generate pkg-config for Hammer
2013-11-20 13:16:25 -08:00
Joe Rozner
f220524b5a Generate pkg-config for Hammer
Create a pkg-config file and install it to $prefix/lib/pkgconfig
2013-11-20 13:04:07 -08:00
Meredith L. Patterson
76b445ddb1 Merge pull request #52 from thequux/token-registry
Added token type registry. Closes #45; see also #54
2013-11-19 20:29:12 -08:00
TQ Hirsch
4e035751c9 Merge pull request #53 from abiggerhammer/static-analysis
Static analysis
2013-11-19 20:22:26 -08:00
Meredith L. Patterson
91221ac256 tweak SConstruct so that 'scan-build scons' works 2013-11-19 22:09:38 -06:00
Meredith L. Patterson
b4e28ac021 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 21:58:24 -06:00
Dan Hirsch
4811f58374 Added token type registry. Closes #45 2013-11-19 21:14:39 -06:00
Meredith L. Patterson
31f283e720 Fixed TestRightrec 2013-11-19 19:15:14 -06:00
Meredith L. Patterson
6e456e3daa more verbose tests; should run w/o hammer installed system-wide 2013-11-19 19:15:14 -06:00
Meredith L. Patterson
eb1cee7dee travis needs python-nose to run nosetests 2013-11-19 19:15:14 -06:00
Meredith L. Patterson
2e0c56f403 kindasorta working. all tests (except h_action and h_attr_bool, need typemaps) have passed at one time or another, but some segfault at not-quite-random; h_and, h_epsilon_p, h_end_p, h_ignore, h_not, maybe h_choice seem culprity. 2013-11-19 19:15:14 -06:00
Meredith L. Patterson
5ced9fe9d5 h_sequence, h_choice and HCountedSequence are all having weird issues, but tests are in a workable format now 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
2d459282d4 there's the uint8_t problem (mostly) sorted 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
b979f66c21 python tests baked into scons; h_ch needs the first char of its input string as its input 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
6746df20db typemap to fix conversion from python strings to uint8_t* 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
8fcad1e72a sync with php-bindings SConscript 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
150e91537b helps to link against the library... 2013-11-19 19:15:13 -06:00
Meredith L. Patterson
55af8ac287 fix travis config here too 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
10c8b0bd22 fixed the segfault! hand-initialized HParser needed PB_MIN set. 2013-11-19 19:00:58 -06:00
Meredith L. Patterson
62af9f6222 more verbose tests; should run w/o hammer installed system-wide 2013-11-19 17:26:01 -06:00
Meredith L. Patterson
9e44bea920 commenting out assert for debugging purposes 2013-11-19 12:37:30 -06:00
Meredith L. Patterson
656f4546dd travis needs python-nose to run nosetests 2013-11-19 03:45:49 -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
Meredith L. Patterson
cec4659baa kindasorta working. all tests (except h_action and h_attr_bool, need typemaps) have passed at one time or another, but some segfault at not-quite-random; h_and, h_epsilon_p, h_end_p, h_ignore, h_not, maybe h_choice seem culprity. 2013-11-19 02:41:45 -06:00
Meredith L. Patterson
f3ce2fc7de h_sequence, h_choice and HCountedSequence are all having weird issues, but tests are in a workable format now 2013-11-19 00:18:25 -06:00
Meredith L. Patterson
d1b71779e1 there's the uint8_t problem (mostly) sorted 2013-11-18 21:50:28 -06:00
Meredith L. Patterson
e8b2c17026 python tests baked into scons; h_ch needs the first char of its input string as its input 2013-11-18 21:14:44 -06:00
Meredith L. Patterson
83fdfd93fd typemap to fix conversion from python strings to uint8_t* 2013-11-18 17:19:46 -06:00
Meredith L. Patterson
f1e6e1fa95 sync with php-bindings SConscript 2013-11-17 20:56:03 -06:00
Meredith L. Patterson
0eab911258 helps to link against the library... 2013-11-17 20:41:56 -06:00
Meredith L. Patterson
6effa7ae3e fix travis config here too 2013-11-17 20:31:10 -06:00