Commit graph

83 commits

Author SHA1 Message Date
Sven M. Hallberg
42d35fb883 move chunk position into HInputStream and simplify internal chunk API 2015-09-16 23:25:36 +02:00
Sven M. Hallberg
d4f933b2d3 move last_chunk flag into HInputStream 2015-09-04 12:55:37 +02:00
Sven M. Hallberg
28fa93d4cc make overrun flag a bool to match its usage 2015-09-04 12:54:00 +02:00
Sven M. Hallberg
f1d6d0bc5e split h_llk_parse into start/chunk/finish internally 2015-09-03 19:15:57 +02:00
Sven M. Hallberg
2845a9391e add API and backend hooks for iterative (chunked) parsing 2015-09-03 15:03:01 +02:00
Nicolas Léveillé
0c35525e30 Convert usages of errx to h_platform_errx
This BSD call will have to be implemented on windows. Right now
we have a stub that just exits the process.
2015-08-09 22:46:45 +02:00
Meredith L. Patterson
759fbe77e5 C++ bindings needed to use system_allocator's free() too 2015-08-02 22:03:30 +02:00
Meredith L. Patterson
1ffd8d9276 Fix undefined behaviour around system_allocator, issue #133. 2015-08-02 21:32:47 +02:00
TQ Hirsch
af73181cf4 Fix #118
NEWS:
* Switching endianness mid-byte no longer potentially re-reads bytes.
* bit_offset now consistently refers to the number of bits already
  read.
* HParsedTokens now have a bit_length field; this is a size_t.  This
  may be removed for memory reasons.

The bit writer has not yet been updated to match; the result of
switching bit writer endianness in the middle of a byte remains
undefined.
2015-01-04 04:08:01 +01:00
Meredith L. Patterson
eb6c74cf89 h_put_value and h_get_value done. 2014-05-12 09:52:35 +02:00
Sven M. Hallberg
fbdd2b7613 pull saved position into HParserCacheValue and fix segfault in grow() 2014-03-17 23:46:14 +01:00
Meredith L. Patterson
1d6a6d90ab C++ bindings now work! 2014-01-16 19:49:28 +01:00
Dan Hirsch
e487d5435c Added a void* user_data pointer to HAction 2013-11-23 12:53:11 -06: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
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
Dan Hirsch
b0f567c090 Added new build system 2013-07-10 21:32:05 +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
b1e8e29774 add engine forking 2013-06-20 11:05:57 +02:00
Sven M. Hallberg
55c9a3d9c5 add stub GLR backend with h_glr_parse() a copy of h_lr_parse() 2013-06-19 17:20:53 +02:00
Sven M. Hallberg
e7a388d1c7 move djbhash into general availability as h_djbhash 2013-06-06 13:02:29 +02:00
Sven M. Hallberg
636f741d88 add h_hashset_equal (set comparison) 2013-06-05 15:12:48 +02:00
Sven M. Hallberg
976205f9da hook up LALR backend stub 2013-06-04 22:14:06 +02:00
Meredith L. Patterson
02d68f6d18 Merge branch 'master' of https://github.com/thequux/hammer
Conflicts:
	src/backends/llk.c
2013-05-24 20:00:41 -07:00
Dan Hirsch
ec404ca8fe Refactored all of the desugaring code to no longer depend on memory being initialized to 0. Everything is about 12% faster now. 2013-05-25 03:35:42 +02:00
Sven M. Hallberg
3047fd223b let h_hashtable_merge's combine function decide what to do on NULL dst values 2013-05-24 22:29:33 +02:00
Meredith L. Patterson
1c7e9947a4 merging in aegis' JNI bindings 2013-05-23 00:58:27 -07:00
Sven M. Hallberg
e4d0b636dd add h_hashtable_merge function 2013-05-22 21:57:46 +02:00
Sven M. Hallberg
623fd6b030 add "reshape" action to HCFChoice 2013-05-14 11:54:43 +02:00
Sven M. Hallberg
1c8764e1da minor cosmetics 2013-05-12 00:20:27 +02:00
Sven M. Hallberg
c64a4e435e Merge remote-tracking branch 'tq/master' into LL such that it compiles
Conflicts:
	src/Makefile
	src/backends/packrat.c
	src/compile.c
	src/hammer.h
	src/internal.h
	src/parsers/action.c
	src/parsers/and.c
	src/parsers/attr_bool.c
	src/parsers/bits.c
	src/parsers/butnot.c
	src/parsers/ch.c
	src/parsers/charset.c
	src/parsers/choice.c
	src/parsers/difference.c
	src/parsers/end.c
	src/parsers/epsilon.c
	src/parsers/ignore.c
	src/parsers/ignoreseq.c
	src/parsers/indirect.c
	src/parsers/int_range.c
	src/parsers/many.c
	src/parsers/not.c
	src/parsers/nothing.c
	src/parsers/optional.c
	src/parsers/sequence.c
	src/parsers/token.c
	src/parsers/unimplemented.c
	src/parsers/whitespace.c
	src/parsers/xor.c
2013-05-11 19:09:22 +02:00
Sven M. Hallberg
b63980f137 add LL(1) driver 2013-05-11 15:14:10 +02:00
Sven M. Hallberg
65ee3593bd compile function can't take a const parser 2013-05-08 18:01:55 +02:00
Sven M. Hallberg
1631e9c08f constify read-only hashtable methods 2013-05-08 17:01:23 +02:00
Sven M. Hallberg
66b0ed7bf1 move h_eq_ptr and h_hash_ptr into datastructures.c / internal.h 2013-05-08 15:54:29 +02:00
Sven M. Hallberg
209bd43f10 add h_hashtable_update and h_hashset_put_all 2013-04-30 17:45:33 +02:00
Sven M. Hallberg
109d60fca3 make hashtable keys const 2013-04-30 17:44:54 +02:00
Dan Hirsch
13088c9d7a Finshed up the regex backend 2013-04-26 20:36:54 -07:00
Sven M. Hallberg
88091b602f wrap all allocs of HParser in helper h_new_parser 2013-04-27 04:17:47 +02:00
Sven M. Hallberg
fd10e83bfe add alias(es) for HHashSet from HHashtable 2013-04-27 00:55:55 +02:00
Meredith L. Patterson
07d35c72ff Most of RVM desugaring done in first draft, for TQ to check. 2013-04-22 18:06:17 -07:00
Sven M. Hallberg
1325ebcdd1 add LL backend stub 2013-04-17 15:10:33 +02:00
Rob Zinkov
4e11c90664 Adding desugar 2013-03-17 13:25:02 -07:00
Dan Hirsch
ffd050e603 Added generic form of desugaring functions 2013-03-16 14:30:15 -07:00
Dan Hirsch
c19d7bb66e Regex VM finished but untested. 2013-03-09 21:42:49 -08:00
Meredith L. Patterson
ab89b0fd4d desugaring done for many and attr_bool 2013-02-20 20:43:16 -05:00
Meredith L. Patterson
156be7a559 Still doesn't build, but desugaring is farther along 2013-02-02 19:31:18 -05:00
Dan Hirsch
b8314f6662 Added regex backend, does not compile 2013-01-13 17:01:10 +01:00
Sven M. Hallberg
dffe47bf57 initialize eval_set to a proper copy of involved_set 2013-01-10 00:40:19 +01:00
Meredith L. Patterson
8163b3981d Changed other instances of malloc.h to stdlib.h for OSX compat 2012-11-14 14:05:25 -05:00
Meredith L. Patterson
de8db18db4 Refactored tests; make just builds library, make test builds/runs tests 2012-11-13 22:29:25 -05:00