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
129d50c0ef
split LR code into lr.c, lr0.c, and lalr.c
2013-06-17 20:08:25 +02:00
Sven M. Hallberg
976205f9da
hook up LALR backend stub
2013-06-04 22:14:06 +02:00
Dan Hirsch
0600440b7c
Got a lot of regex test cases working
2013-05-23 23:27:07 +02:00
Meredith L. Patterson
3978266651
further merging of pesco's and aegis' changes
2013-05-23 02:16:52 -07:00
Meredith L. Patterson
1c7e9947a4
merging in aegis' JNI bindings
2013-05-23 00:58:27 -07:00
Sven M. Hallberg
29cee318f9
move the h_act_* functions to src/actions.c
2013-05-20 14:58:20 +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
aegis
106b8bb6a7
JNI ready for testing. -fPIC enabled for objects in src and jni.
2013-05-10 12:05:20 +02:00
Sven M. Hallberg
5593b826e3
add scaffold for grammar tests and codify the dummy test case
2013-05-08 00:48:46 +02:00
Sven M. Hallberg
188d369a9b
move grammar analysis stuff to its own files
2013-05-07 23:56:47 +02:00
Dan Hirsch
13088c9d7a
Finshed up the regex backend
2013-04-26 20:36:54 -07:00
Sven M. Hallberg
1325ebcdd1
add LL backend stub
2013-04-17 15:10:33 +02: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
Sven M. Hallberg
195e50a7f1
move glue.[ch] into the library proper
2013-02-17 15:24:13 +01:00
Sven M. Hallberg
4d0ec07c1a
make TT_USER > TT_ERR, remove TT_MAX
2013-01-07 23:44:26 +01:00
Meredith L. Patterson
de8db18db4
Refactored tests; make just builds library, make test builds/runs tests
2012-11-13 22:29:25 -05:00
Meredith L. Patterson
771de6f98b
Benchmark test case array needed to be terminated with {NULL,0,NULL}. Noted that in comments.
2012-11-06 00:20:00 -05:00
Meredith L. Patterson
21ec962d76
Working on benchmarking test. A lot of things needed to be const and weren't.
2012-11-05 23:08:18 -05:00
Dan Hirsch
d0d9a94fd0
Added benchmark skeleton, and at least stubs for all of the necessary functions
2012-11-02 17:16:53 -04:00
Dan Hirsch
8eececcac8
Now builds without glib
2012-10-10 16:45:10 +02:00
Dan Hirsch
d5729efa1f
Replaced glib memory allocation
2012-10-10 15:58:03 +02:00
Meredith L. Patterson
1f3a75fafe
Merge pull request #3 from pesco/master
...
add h_in (counterpart to h_not_in)
2012-08-12 01:20:59 -07:00
Dan Hirsch
1b9314e73e
Added bitwriter framework
2012-07-27 15:24:35 -07:00
Sven M. Hallberg
d57558bf13
Merge branch 'ignoreseq'
2012-06-02 17:32:28 +02:00
Sven M. Hallberg
7724ff9e6f
add h_left, h_right, h_middle combinators
2012-06-02 17:31:06 +02:00
Sven M. Hallberg
4f6989d3ef
enable h_indirect
2012-06-01 20:00:10 +02:00
Dan Hirsch
c43b6d2f4c
Forgot attr_bool
2012-05-26 16:05:01 +02:00
Dan Hirsch
f2def8fa05
Refactor ALL the things!
2012-05-26 16:00:43 +02:00
Dan Hirsch
764d0d7071
Cleaned up some memory leaks, got rid of gsequence, improved test macro to free memory that it allocated
2012-05-17 15:52:29 +02:00
Dan Hirsch
79f9e21da7
Bolted on arena allocator
2012-05-12 21:20:38 +01:00
Dan Hirsch
d5358a724b
Made sequence and choice variadic, and added test suite helper functions
2012-05-12 00:40:54 +01:00
Dan Hirsch
99804b2abf
Added pretty printer
2012-05-11 23:35:21 +01:00
Dan Hirsch
5f26455924
Cleaned up makefiles a bit, fixed all the warnings in hammer.c
2012-05-01 02:05:58 +01:00
Dan Hirsch
a125975737
Quieter build
2012-05-01 01:47:14 +01:00
Meredith L. Patterson
318b594bed
Parser combinators are well underway. Ones that are now finished are:
...
* token: matches a sequence of bytes (with length)
* ch: matches a single byte
* range: matches any byte within the range [lower, upper] (inclusive)
* join_action: joins the results of another parser with a separator
* negate: matches the opposite of any single-character parser
* end_p: succeeds if there's no input left to parse
* nothing_p: always fails
One other big change: the AST is now a GSequence of parsed_token_t's. WARNING: This is not actually enforced, because C.
Also tweaked the makefile a little (which will get clobbered in TQ's next commit) and added some documentary comments to hammer.h.
2012-05-01 00:33:47 +01:00
Meredith L. Patterson
dfd8cf2a97
Settled on cache layout, wrote djbhash variant for indexing byte/bit positions into inner hash table
2012-04-30 03:44:10 +01:00
Dan Hirsch
6dd36f9acd
That should fix the build on Ubuntu; also, it should add a clean target
2012-04-30 02:21:22 +01:00
Dan Hirsch
faab7b7cf8
Wrote basic makefile, wrote tests, and then fixed them
2012-04-29 01:45:52 +01:00