Commit graph

1254 commits

Author SHA1 Message Date
Meredith L. Patterson
72146e1c77
Merge pull request #190 from moreati/python3
Add support for Python 3.x bindings
2019-10-08 01:05:28 +02:00
Meredith L. Patterson
d02c4b55d2
Merge pull request #161 from pesco/sloballoc
add SLOB allocator
2019-10-08 01:03:11 +02:00
Meredith L. Patterson
359660791d Merge branch 'mrdomino-std-c99' 2019-10-08 00:53:46 +02:00
Meredith L. Patterson
321600b68f build with -std=c99 2019-10-08 00:53:18 +02:00
Alex Willmer
2ec062cd7c Update README with Python 3.x support 2019-05-10 22:08:41 +01:00
Alex Willmer
59ba68ef84 Use byte literals in examples and unit tests
In Python 2.x an unprefixed string literal produces a byte string.
In Python 3.x an unprefixed string literal produces a textual string.

To produce a byte string in both a b prefix is needed, e.g. b'foo'.
Since I believe Hammer works predominantly with byte strings I have used
b prefixes throughout.
2019-05-10 21:59:03 +01:00
Alex Willmer
8b4b8ddc57 Use PyBytes_* Python CAPI functions
This removes any doubts about what type of string is in use.
2019-05-10 21:59:03 +01:00
Alex Willmer
c82390941d Allow Python interpreter to be specified during build
This allows the library to be built and tested with a non-default
version of CPython, e.g.

scons bindings=python python=python3.6
scons bindings=python python=python3.6 testpython
2019-05-10 21:59:03 +01:00
Alex Willmer
287f71d561 Fix uses of retired builtins and builtin methods
In Python 3.x

- int and long types are unified. The unified type is called int.
- the text string type (unicode) is renamed to str.
- the byte string type (str) is renamed to bytes.
- chr returns a text string (i.e. str)
- xrange is renamed to range.
- dict.has_key() is removed
-
2019-05-10 21:59:03 +01:00
Alex Willmer
0f3cadcc3e Enable absolute imports, true division, & print()
These have no effect in Python 3.x, they are the default. Enabling them
in Python 2.x, enabling them in Python 2.x allows single source
compatiblity.
2019-05-10 21:13:32 +01:00
Meredith L. Patterson
55280a73ee Merge pull request #180 from prashantbarca/change-bindings
Change filename in ruby bindings
2017-06-27 23:20:26 +02:00
Sven M. Hallberg
631ca40f91 avoid embedding data[] in struct block to satisfy windows build 2016-12-07 12:39:49 +01:00
Sven M. Hallberg
ec8249513c avoid more void pointer arithmetic 2016-12-07 12:06:53 +01:00
Sven M. Hallberg
fedb36ed89 avoid arithmetic on void pointers to be more standard-conforming 2016-12-07 12:00:27 +01:00
Sven M. Hallberg
d9c4492fd9 silence gcc about "possible" (impossible) use of uninitialized variable 2016-12-06 18:21:59 +01:00
Sven M. Hallberg
0f9be192b6 Merge remote-tracking branch 'upstream/master' into sloballoc 2016-12-06 18:21:06 +01:00
Prashant
6dd481de1f Add attr_reader for dont_gc 2016-11-05 20:37:08 -04:00
Prashant
f1810153c5 Fix the filenames in the gemspec file 2016-10-24 23:20:47 -04:00
Prashant
262675fa4e Change version number to reflect change of filenames 2016-10-24 23:19:51 -04:00
Prashant Anantharaman
971e4e4f70 Change documentation and examples to reflect filename change 2016-09-11 10:05:18 -07:00
Prashant Anantharaman
7b4d208bf3 Change filenames to hammer-parser.rb 2016-09-11 09:48:05 -07:00
Prashant Anantharaman
9b4aa14ebc Add *.gem to Gemfile 2016-09-11 09:36:28 -07:00
Meredith L. Patterson
f03db8ee5b Merge pull request #178 from prashantbarca/master
More documentation for ruby bindings
2016-09-11 11:02:57 +02:00
Prashant Anantharaman
257ba3ff7d Add email, home page and license to gemspec 2016-09-09 10:33:50 -07:00
Prashant Anantharaman
b86349fde7 Add more documentation for Ruby binding 2016-09-09 10:23:29 -07:00
Meredith L. Patterson
6068ec9fce Merge pull request #177 from tomime/readme-links
Readme links
2016-08-19 12:33:19 +02:00
Meredith L. Patterson
3b1200287c Merge pull request #164 from mrdomino/master
Custom printers for user token types
2016-08-19 12:32:20 +02:00
Steven Dee
2b6b300f91 Custom printers for user token types
I did this in a hurry, but it appears to work locally. I tested it with
a couple boring custom token type printers.
2016-08-12 15:30:30 -04:00
tomime
c071c2dc53 wikipedia links for base64 and DNS 2016-08-11 23:59:59 +02:00
tomime
9dc295ef06 link to nunit.org 2016-08-11 22:55:43 +02:00
tomime
b6c1d88054 link to ruby-lang.org 2016-08-11 22:50:20 +02:00
tomime
c5fc65b58b link to swig.org 2016-08-11 22:48:55 +02:00
tomime
a04638b903 link to scons.org 2016-08-11 22:48:18 +02:00
Meredith L. Patterson
bfb07bbbf6 Merge pull request #176 from thequux/master
Fix clobbered variable warning in regex.c:run_trace. Fixes #162
2016-08-11 13:59:02 +02:00
TQ Hirsch
5abdeea9b8 Fix clobbered variable warning in regex.c:run_trace. Fixes #162 2016-08-10 16:20:07 +02:00
TQ Hirsch
ed2694c41f Merge pull request #172 from tomime/readme-learning
linked more documentation/resources
2016-08-10 15:33:55 +02:00
TQ Hirsch
91a478778b Merge pull request #175 from tomime/local-certs
travis cert issue fix
2016-08-10 15:32:51 +02:00
tomime
98077b116f remove mozroots 2016-08-10 12:51:06 +02:00
tomime
eebdf3fdd8 added note on outdated hammer primer 2016-08-01 12:54:13 +00:00
tomime
637c9b5d03 linked more documentation/resources 2016-07-30 13:02:32 +00:00
Meredith L. Patterson
5317ad89ba Merge pull request #165 from uucidl/win32-scons
build on Windows with scons
2016-05-31 01:14:20 +02:00
nicolas
335c8eee9c Add scons build to appveyor builds
This will guarantee we can build hammer with default arguments
2016-05-22 13:56:17 +02:00
nicolas
39e101df03 Note for later about windows port 2016-05-22 13:33:55 +02:00
nicolas
88420038f9 Replace all double quotes with single quotes
To homogenize the file and allow keys/strings to be searched easily.
2016-05-22 13:33:46 +02:00
nicolas
69d3e70211 Port scons build files for Windows users
We disable:
- the tests (which require glib) although they can be
  reactivated with the `--tests` command line flag
- shared library (lack of export symbol declarations
  means that although it can be built, no symbol is
  exported and therefore it can't be used)

The `install` target installs the library and headers
under the `build` folder, because it's a traditional practice
to move libraries to a central location on Windows, unless
you are using cygwin. In which case pass `prefix` to the
command line.

We adapt tools\windows\build_examples.bat to take the library
that is built using scons or using tools\windows\build.bat
2016-05-22 13:29:12 +02:00
nicolas
f31e3ba4bd Move sections around to allow porting to windows
We will need to use the environment's CC variable to make decisions
that apply to windows compiling and linking. Therefore we move some
existing sections below the set up of env["CC"] and env["CXX"]
2016-05-22 13:18:19 +02:00
Meredith L. Patterson
45eea0d968 Merge pull request #160 from uucidl/master
Finish porting parsers to windows
2016-02-24 23:40:45 +01:00
Nicolas Léveillé
f9d8f1df7f Reactivate examples that can build on windows
This is proof that Hammer can be linked and used in a windows
program!
2016-01-31 18:11:27 +01:00
Nicolas Léveillé
9a7752b9a6 Finish porting hammer's library to windows
We port registry by importing the (public domain) openbsd implementation
of the tfind/tsearch POSIX binary tree search functions.

These are only necessary when building on non-posix platforms
2016-01-31 17:27:19 +01:00
Nicolas Léveillé
206f5044a8 Remove warning about tail "potentially uninitialized"
MSVC was complaining that the `tail` variable was potentially
uninitialized in the while branch. Since the while loop is actually
coupled to the if (head != NULL) that initializes the tail variable,
we move them together, which makes the warning disappear.
2016-01-31 16:55:17 +01:00