Meredith L. Patterson
0653a9e48a
add explicit null checks to system_allocator malloc/realloc
2015-08-02 14:34:45 +02:00
Nicolas Léveillé
2a6233b74f
Print user defined token type while pretty printing
...
The pretty printing format chosen is USER:<token name>
We use the registry function `h_get_token_type_name` which returns 0
when no name has been defined. This will print (null) as a token name.
2015-08-01 13:42:43 +02:00
Meredith L. Patterson
39c9096fd6
changes from tutorial: add h_literal, make h_make_bytes more practical
2015-05-04 19:00:37 -04:00
Meredith L. Patterson
26373bf25f
Merge pull request #129 from pesco/h_bind
...
Add monadic bind combinator h_bind
2015-03-10 21:27:24 +01:00
Meredith L. Patterson
af260bdd58
Merge pull request #122 from mrdomino/fix-res_unamb-leak
...
Free res_unamb
2015-03-10 18:06:01 +01:00
Sven M. Hallberg
aa2dc7bcf5
put the message into the assert in aa_realloc
2015-03-04 14:54:42 +01:00
Sven M. Hallberg
be80fdedfc
make arena-allocator implementation functions static
2015-03-04 14:52:28 +01:00
Sven M. Hallberg
9a8dca2c04
Merge branch 'master' of git://github.com/UpstandingHackers/hammer into h_bind
2015-03-04 14:47:49 +01:00
Sven M. Hallberg
1ce0ef9b8a
pass a temporary arena allocator to the continuation in h_bind
2015-02-23 14:10:29 +01:00
Sven M. Hallberg
2eaf5d9052
add some missing type conversions to make h_read_bits work with count>32
2015-02-12 01:40:45 +01:00
Sven M. Hallberg
7ba5931095
Merge branch 'master' of git://github.com/UpstandingHackers/hammer into h_bind
2015-01-30 20:48:49 +01:00
Sven M. Hallberg
12771a5655
oh, there's t_regression.c now, neat.
2015-01-30 20:42:11 +01:00
Sven M. Hallberg
3f197ea1b0
Merge branch 'master' of git://github.com/UpstandingHackers/hammer into fix-h_seq_index_path
2015-01-30 20:37:26 +01:00
Sven M. Hallberg
341123e2ea
descend properly in h_seq_index_path
2015-01-30 20:36:37 +01:00
Sven M. Hallberg
cbc7358b66
add a test that shows a bug in h_seq_index_path
2015-01-30 20:35:35 +01:00
Sven M. Hallberg
c9b2957832
add g_check_cmp_int
2015-01-30 20:35:14 +01:00
Sven M. Hallberg
78266af453
allow h_bind's function argument to return NULL as a shortcut for h_nothing_p()
2015-01-23 22:06:43 +01:00
Sven M. Hallberg
42d51ed479
add monadic bind combinator h_bind
2015-01-23 22:00:59 +01:00
Steven Dee
a0104776ed
Free res_unamb
2015-01-04 21:38:04 -05:00
Meredith L. Patterson
5efaba87e8
Merge pull request #120 from thequux/fix-bug118
...
Fix #118
2015-01-04 04:18:11 +01: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
Steven Dee
2dad0c48b4
H_VALIDATE_APPLY macro
...
I've found this especially useful in combination with my own
_attr_uint_const for things like flags and type specifiers.
It's possible that its usefulness might be diminished significantly if
there were a built-in bitfield constant parser -- that certainly would
eliminate all of my current uses of it -- but it still seems nicely
symmetric with H_ACT_APPLY.
2015-01-03 16:44:36 -05:00
Steven Dee
5abe74f890
Retab as though tabstop were 8
...
Tabs after the first non-tab character are crazymaking. I picked 8
because it wasn't 7 and caused the backslashes to line up on
H_ACT_APPLY.
2015-01-03 16:35:56 -05:00
Meredith L. Patterson
58af99ae40
Merge pull request #114 from mrdomino/llvm-attr-malloc
...
llvm doesn't care about your size
2014-12-30 00:18:53 +01:00
Steven Dee
b1078c3d88
llvm doesn't care about your size
...
They apparently removed alloc_size at some point (it was a no-op
beforehand), causing the attribute to throw an error when clang compiles
anything including allocator.h.
2014-12-07 02:27:28 -05:00
Steven Dee
f2434d5b12
Move backend names into src/benchmark.c
...
It's causing unreferenced-variable warnings, and isn't referenced
anywhere aside from benchmark.c. If client code is likely to reference
it, perhaps move it into another header, so people who include hammer.h
don't have to refer to it to have warning-free code.
2014-12-07 00:12:11 -05:00
Sven M. Hallberg
41dca83631
add h_permutation
2014-06-18 21:54:52 +02:00
Meredith L. Patterson
eb6c74cf89
h_put_value and h_get_value done.
2014-05-12 09:52:35 +02:00
TQ Hirsch
5679939a2c
Merge pull request #104 from abiggerhammer/master
...
change pointer type to uintptr_t for portability
2014-05-11 14:56:31 -07:00
Meredith L. Patterson
fcd729ef60
change pointer type to uintptr_t for portability
2014-05-11 23:41:54 +02:00
Sven M. Hallberg
bf50ffcd84
tab correction
2014-05-07 19:29:25 +02:00
Sven M. Hallberg
4a90a0be66
fix h_read_bits path for BYTE_LITTLE_ENDIAN
2014-05-07 19:24:58 +02:00
Sven M. Hallberg
5f920b29f8
add h_with_endianness()
2014-05-07 19:24:26 +02:00
Meredith L. Patterson
27f08df1d3
fix infinite loop in isValidCF with indirect
2014-04-20 21:40:09 +02:00
Meredith L. Patterson
bab376cab7
fix non-resizable hashtable
2014-04-20 21:00:50 +02:00
Meredith L. Patterson
eb04842d85
slightly nicer benchmark output
2014-04-20 17:31:21 +02:00
Meredith L. Patterson
1d12f9ffac
regex_compile should return -1 if not a regular grammar; give backends names
2014-04-20 17:23:25 +02:00
Meredith L. Patterson
c9419f4c34
CF backends weren't checking whether a grammar is CF; they are now. Also, brace-fixing.
2014-04-20 16:57:01 +02:00
TQ Hirsch
cc4ded8914
Ported to OpenBSD.
2014-04-13 22:30:48 +00:00
TQ Hirsch
849178d60b
Ported to NetBSD (2/2): Add casts for character class detection
...
NetBSD's character class test macros are defined such that they produce
a compiler warning when given a char argument. Adding a cast to the call
fixes this.
2014-04-13 14:36:38 -07:00
TQ Hirsch
426a3f8468
Ported to NetBSD (1/2): Replaced Linux-specific timer call
...
CLOCK_THREAD_CPUTIME_ID is a linux-specific timer. On NetBSD, the best
way to get timer information appears to be getrusage, which happens to
be fairly cross-platform.
2014-04-13 14:36:38 -07:00
Meredith L. Patterson
70da67adb5
Merge pull request #94 from pesco/fix-49-stringmap-segfault
...
Fix #49 stringmap segfault
2014-04-10 23:40:28 +02:00
Sven M. Hallberg
6875dc3e53
retab
2014-03-24 17:30:23 +01:00
Sven M. Hallberg
797bdb7224
copy source stringmap as necessary in stringmap_merge
2014-03-24 17:22:52 +01:00
Sven M. Hallberg
0970b15034
add function h_stringmap_copy
2014-03-24 17:22:32 +01:00
Sven M. Hallberg
2b31fb0f33
assert: stringmap_merge's arguments should use the same memory arena
2014-03-24 15:49:36 +01:00
Sven M. Hallberg
4a973d3f98
enable leftrec-ne test for LALR and GLR backends
2014-03-21 22:39:13 +01:00
Sven M. Hallberg
5af0e3e2ba
disable test /core/parser/packrat/leftrec
2014-03-21 22:37:39 +01:00
Sven M. Hallberg
0fb744b16d
rename leftrec_nonempty test to leftrec-ne
2014-03-21 22:34:39 +01:00
Sven M. Hallberg
f4afd0cb8d
more leftrec fixes: head caching and input rewinding
2014-03-21 20:54:33 +01:00