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
2b31fb0f33
assert: stringmap_merge's arguments should use the same memory arena
2014-03-24 15:49:36 +01:00
Sven M. Hallberg
f4afd0cb8d
more leftrec fixes: head caching and input rewinding
2014-03-21 20:54:33 +01: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
2ee82f3ac7
Merge branch 'python-bindings' of https://github.com/thequux/hammer into python-bindings
...
Conflicts:
src/bindings/python/SConscript
src/bindings/python/hammer_tests.py
src/bindings/swig/hammer.i
src/hammer.h
2013-11-26 11:25:22 -08: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
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
Meredith L. Patterson
9e44bea920
commenting out assert for debugging purposes
2013-11-19 12:37:30 -06: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
Meredith L. Patterson
43f1d70a5f
Merging JakobR's OS X build changes.
2013-10-18 12:14:18 +02:00
Dan Hirsch
6a5487b9b8
Fixed a build warning due to ignoring the return value of asprintf.
2013-07-11 23:18:25 +02: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
66809ceeda
go back to storing engines in lists
2013-06-22 18:16:41 +02:00
Sven M. Hallberg
67681a119a
finish engine merging
2013-06-22 17:40:47 +02:00
Sven M. Hallberg
23afea4b4e
add demerge code path (untested)
2013-06-22 14:21:19 +02:00
Sven M. Hallberg
bf9c9b5f7a
refactoring in preparation for engine merging
2013-06-22 12:51:25 +02:00
Sven M. Hallberg
8bc3b93e95
correctly use augmented grammar for test_glr() output
2013-06-21 23:53:47 +02:00
Sven M. Hallberg
34c6d868b9
commentation
2013-06-21 23:47:22 +02:00
Sven M. Hallberg
9585a5946e
use lookahead stream directly for LR (terminal) lookup
2013-06-21 23:22:07 +02:00
Sven M. Hallberg
853e1fba46
split LR table representation by key type (terminals/nonterminals)
2013-06-21 22:55:04 +02:00
Sven M. Hallberg
d67e12a825
better factor out lr table writes
2013-06-21 20:52:27 +02:00
Sven M. Hallberg
534a29b7ba
split h_lr_lookup into two (yet identical) functions
2013-06-21 20:21:40 +02:00
Sven M. Hallberg
c32cf709b2
eliminate the right stack; work with the HInputStream directly
2013-06-21 20:11:19 +02:00
Sven M. Hallberg
ec88580b22
make h_lrengine_step a void function again
2013-06-21 18:46:16 +02:00
Sven M. Hallberg
bf3e3c162e
don't even touch the right stack on piggy-back shifts
2013-06-21 15:31:37 +02:00
Sven M. Hallberg
7cd143c0c4
piggy-back the next shift directly onto the reduce
2013-06-21 15:06:31 +02:00
Sven M. Hallberg
bbbaf1634c
add an assertion checking that HLR_REDUCE is always followed by HLR_SHIFT
2013-06-21 15:00:04 +02:00
Sven M. Hallberg
b1e8e29774
add engine forking
2013-06-20 11:05:57 +02:00
Sven M. Hallberg
4f36fcd2c1
avoid duplicate conflict branches
2013-06-19 18:51:16 +02:00
Sven M. Hallberg
572f1c8f9e
expand stub GLR backend
2013-06-19 18:22:19 +02:00
Sven M. Hallberg
ecfc0a8e62
fix conflict pretty-printing
2013-06-19 18:21:53 +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
54ba62bfb7
record conflicts in a special HLRAction type
2013-06-19 17:01:13 +02:00
Sven M. Hallberg
168760b10a
return running state from h_lrengine_step
2013-06-19 14:16:34 +02:00
Sven M. Hallberg
409d33c916
split out h_lrengine_action()
2013-06-19 14:09:39 +02:00
Sven M. Hallberg
129d50c0ef
split LR code into lr.c, lr0.c, and lalr.c
2013-06-17 20:08:25 +02:00
Sven M. Hallberg
7eff4b8d94
factor out a struct HLREngine
2013-06-17 19:11:18 +02:00
Sven M. Hallberg
67b6e9666c
fix a potentially uninitialized variable
2013-06-16 22:29:53 +02:00
Sven M. Hallberg
24c15f34cc
augment grammar to ensure start symbol never occurs on rhs
2013-06-16 22:23:35 +02:00
Sven M. Hallberg
8d21c782e7
fix eq/hash_lalr_item to compare symbols by value
2013-06-15 21:24:27 +02:00
Sven M. Hallberg
f0cd2de55c
fix match_production for the empty-sequence case
2013-06-15 20:54:53 +02:00
Sven M. Hallberg
5a57adabab
some refactoring trying to get h_many to work
2013-06-15 20:30:57 +02:00
Sven M. Hallberg
9a96314931
refactor hashtable iterations to use H_FOREACH
2013-06-15 19:06:10 +02:00
Sven M. Hallberg
a7fe3824cd
minor bugfixies
2013-06-14 19:07:26 +02:00
Sven M. Hallberg
1918c97e1c
fix a premature arena delete
2013-06-14 17:36:30 +02:00
Sven M. Hallberg
06acbe2fb5
LALR example parses!
2013-06-14 17:17:23 +02:00