Packrat backend (at least) incorrectly reports parse failure when it runs out of memory
In issue #85, I reported that the Packrat backend can incorrectly use unbounded space even when parsing the empty string. A complication in this problem is that, if its allocation fails at some point, then instead of sounding the fire alarms because of the out-of-memory error, it peacefully reports that the string could not be parsed, lulling the user into believing that it simply failed to conform to the grammar. Until issue #85 is fixed, here's a simple way to reproduce the problem:
$ ulimit -v 131072
$ LD_LIBRARY_PATH=. python
Python 2.7.6 (default, Nov 12 2018, 20:00:40)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hammer as h
>>> h.many(h.sequence()).parse('')
>>>