Dan Hirsch
954b6e32d3
Changed typemap for strings to also parse lengths
2013-11-23 13:36:54 -06:00
Meredith L. Patterson
8b6d6084c5
fixed the segfault! hand-initialized HParser needed PB_MIN set.
2013-11-23 13:36:54 -06:00
Meredith L. Patterson
12bb5cac36
more verbose tests; should run w/o hammer installed system-wide
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
0aac5f4622
travis needs python-nose to run nosetests
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
96760f1daf
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-23 13:33:24 -06:00
Meredith L. Patterson
3228a86b90
h_sequence, h_choice and HCountedSequence are all having weird issues, but tests are in a workable format now
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
f685f9ea4e
there's the uint8_t problem (mostly) sorted
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
073d6d8a27
python tests baked into scons; h_ch needs the first char of its input string as its input
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
eba8ecc6c3
typemap to fix conversion from python strings to uint8_t*
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
4bd2fc9e72
sync with php-bindings SConscript
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
27f94dbe61
helps to link against the library...
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
dc9124724a
fix travis config here too
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
77d48e2b7c
SWIG python bindings, has same typemap problem as PHP
2013-11-23 13:33:24 -06:00
Meredith L. Patterson
ada7bf89ee
There's a typemap problem between const uint8_t* and target-language strings, but I can create parsers in python and php.
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
73eabc7bf9
SWIG bindings build, compile, and appear to work for python. Will port over tests next.
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
0e4253d0ef
invoke swig with relative path instead, -I../../
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
8f427b5a6d
fixed nested unions
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
49f22e2aff
Import combinator and allocator APIs into SWIG. Next is glue. Need to fix unions in HParsedToken and HCaseResult.
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
75453d8b2f
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-23 13:33:23 -06:00
Dan Hirsch
1841c9d77e
Added a few tests
2013-11-23 13:33:23 -06:00
Dan Hirsch
a31f2d31a4
Added auto-construction, tidied h_ch a bit
2013-11-23 13:33:23 -06:00
Dan Hirsch
9d43244c2e
Working python bindings
2013-11-23 13:33:23 -06:00
Dan Hirsch
28bee303f9
Add CFFI python bindings
2013-11-23 13:33:23 -06:00
Dan Hirsch
de6f6115a8
We declared some functions that were never implemented. Implement them.
2013-11-23 13:33:23 -06:00
Meredith L. Patterson
a17d189d9d
Merge pull request #62 from thequux/add-callback-userdata
...
Add void* userdata to callbacks
2013-11-23 11:14:41 -08:00
Dan Hirsch
890c6383a7
Added documentation for H_{A,V,VA,AV}DRULE
2013-11-23 13:09:39 -06:00
Dan Hirsch
69e84bcbb0
Added a void* user_data pointer to HPredicate
2013-11-23 13:01:55 -06:00
Dan Hirsch
e487d5435c
Added a void* user_data pointer to HAction
2013-11-23 12:53:11 -06:00
Meredith L. Patterson
bba60f5db9
Merge pull request #60 from thequux/allow-in-place-build
...
Allow in-place build via scons --in-place
2013-11-23 10:35:36 -08:00
Meredith L. Patterson
d2cb13ab86
Merge pull request #61 from thequux/install_name-is-darwin-only
...
Make install_name darwin-only
2013-11-23 10:35:04 -08:00
Dan Hirsch
c6b4beefcb
Make install_name darwin-only
2013-11-23 12:28:34 -06:00
Dan Hirsch
2cead893fc
Allow in-place build via scons --in-place
2013-11-22 19:44:30 -06:00
TQ Hirsch
1ec64f4938
Merge pull request #58 from jrozner/master
...
Changes for doing a proper system install and Go bindings
2013-11-21 22:12:17 -08:00
Joe Rozner
bb02aa18e7
Add warning message
...
Specify warning for internal only headers that are now installed for use
by extensions.
2013-11-21 22:09:25 -08:00
Joe Rozner
4b258c98e0
Merge branch 'master' of github.com:UpstandingHackers/hammer
2013-11-21 22:05:50 -08:00
Meredith L. Patterson
e193bd1e57
Merge pull request #57 from thequux/reduce-irc-spam
...
Reduce IRC spam
2013-11-21 21:33:09 -08:00
Joe Rozner
d0906e69e6
Fix for linux
...
This actually is only for OS X. On linux ldconfig must be run after
installing in order to update the library cache. Need to look into how
to get scons to do this for the user.
2013-11-21 12:50:03 -08:00
Joe Rozner
1d80058c85
Properly name the lib
...
Set the proper path for the shared library so that anything linking
against it will be able to find the library.
2013-11-21 12:37:36 -08:00
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