Commit graph

  • 764d0d7071 Cleaned up some memory leaks, got rid of gsequence, improved test macro to free memory that it allocated Dan Hirsch 2012-05-17 15:51:19 +02:00
  • 9803b14ce8 Warth's recursion finished. action() and and() still fail. Time to migrate in TQ's arena work. Meredith L. Patterson 2012-05-17 15:47:14 +02:00
  • 662cd0e5b4 Added lr_answer Meredith L. Patterson 2012-05-17 14:45:09 +02:00
  • e4593dad41 Finished recall() and setupLR(). Documenting internal for the next asshole. Meredith L. Patterson 2012-05-17 14:05:10 +02:00
  • c6f2dcc257 Moved parse_state_t into internal.h, had to add some things for Warth's recursion. More documentary comments. Meredith L. Patterson 2012-05-17 13:22:56 +02:00
  • 9530ed0b64 Added some todos in the notes Dan Hirsch 2012-05-16 15:51:14 +02:00
  • bd6e7d1b63 Merge branch 'master' of 10.24.0.2:working/hammer Dan Hirsch 2012-05-13 01:25:58 +01:00
  • 756f0a6573 moved lr_queue from input_stream to parse_state Meredith L. Patterson 2012-05-13 01:25:45 +01:00
  • 92df2d081b Merge remote-tracking branch 'bunter/master' Dan Hirsch 2012-05-13 01:25:41 +01:00
  • e6eb2efa88 Left-recursion caching strategy about halfway implemented. Compiles, DOES NOT RUN. Meredith L. Patterson 2012-05-13 01:18:18 +01:00
  • 3afe324aaa Implemented a bunch more combinators Dan Hirsch 2012-05-13 01:01:26 +01:00
  • 0e9bcb31ca Added optional parser Dan Hirsch 2012-05-12 23:24:39 +01:00
  • 0954feba89 Added ignore parser Dan Hirsch 2012-05-12 23:13:52 +01:00
  • 97f9c472e1 Merge remote-tracking branch 'bunter/master' Dan Hirsch 2012-05-12 23:05:09 +01:00
  • 3504bde301 Log memory usage diagnostics, fix test_not, add ability to compile in debug mode Dan Hirsch 2012-05-12 23:04:54 +01:00
  • 0164ddc98d Merge branch 'master' of 10.24.0.1:Projects/hammer. Also, licenses for everything! Meredith L. Patterson 2012-05-12 22:26:59 +01:00
  • b6cb84df15 Added 'unimplemented' parser Dan Hirsch 2012-05-12 21:53:54 +01:00
  • 18c2d1f2ca Included arena allocator in return value Dan Hirsch 2012-05-12 21:53:03 +01:00
  • 7de4b51e92 dummy helpers added for ignore and optional Meredith L. Patterson 2012-05-12 21:41:28 +01:00
  • 0e69b8e2dd fixed merge conflict Meredith L. Patterson 2012-05-12 21:27:10 +01:00
  • e748b9c4cb Starting work on Scala-style left-recursion caching. Meredith L. Patterson 2012-05-12 21:26:15 +01:00
  • 79f9e21da7 Bolted on arena allocator Dan Hirsch 2012-05-12 21:20:38 +01:00
  • 60fd846b2f Removed chain and chainl, as all people will really need is list. Meredith L. Patterson 2012-05-12 16:04:20 +01:00
  • 650a25a6b5 All unit tests written except chain and chainl. Removed left_factor_action, we'll handle left-recursion with our caching strategy. Meredith L. Patterson 2012-05-12 15:49:46 +01:00
  • b80d764418 Rewrote tests to use tq's nicer macros. repeat0's test fails cos it's not implemented yet :) Meredith L. Patterson 2012-05-12 11:22:51 +01:00
  • c03de603f6 Merge branch 'master' of http://github.com/thequux/hammer Meredith L. Patterson 2012-05-12 10:49:41 +01:00
  • 57e1e20db0 Fixed test functions and pretty printer. Also fixed bug in parse_sequence. Wrote whitespace parser Dan Hirsch 2012-05-12 01:28:52 +01:00
  • 4b31f327cd Now build tags file Dan Hirsch 2012-05-12 01:28:16 +01:00
  • d5358a724b Made sequence and choice variadic, and added test suite helper functions Dan Hirsch 2012-05-12 00:40:54 +01:00
  • 2c5911c0aa wrote some more tests, waiting for tq to finish revising harness Meredith L. Patterson 2012-05-12 00:24:56 +01:00
  • d13fbbf9c4 Added pretty print functions. They may need to be moved. Dan Hirsch 2012-05-11 23:46:29 +01:00
  • 19bbfb0f07 Merge branch 'master' of http://github.com/thequux/hammer Meredith L. Patterson 2012-05-11 23:43:03 +01:00
  • 6fe42d9e27 helps when I don't break the build Meredith L. Patterson 2012-05-11 23:42:56 +01:00
  • 7469d09a68 merging Meredith L. Patterson 2012-05-11 23:42:21 +01:00
  • c7beb60546 Actually added pretty printer this time Dan Hirsch 2012-05-11 23:42:17 +01:00
  • 7cf1df005f Test generation continues; need to pull in tq's work Meredith L. Patterson 2012-05-11 23:38:45 +01:00
  • 99804b2abf Added pretty printer Dan Hirsch 2012-05-11 23:35:21 +01:00
  • 6e087ac758 Test harness macros extended. Need to implement bodies of primitive parsers. Meredith L. Patterson 2012-05-11 21:05:49 +01:00
  • 990a19e18d Wrote tests for token, chars, signed integers. Need new macros for long int output :P Meredith L. Patterson 2012-05-11 18:37:53 +01:00
  • 8bf9f7ae62 registered parser tests in test suite Meredith L. Patterson 2012-05-11 15:26:04 +01:00
  • 7080d732c1 Fixed inconsistent signature of charset parser, registered (still stubbed) unit tests so the build doesn't break :) Meredith L. Patterson 2012-05-11 15:24:22 +01:00
  • 602ea6d510 Added stubs for unit tests and declarations for primitive parsers (intN, uintN, floatN) Meredith L. Patterson 2012-05-11 15:14:30 +01:00
  • dc0a7572f7 Added overrun protection Dan Hirsch 2012-05-10 14:32:11 +01:00
  • d6c0eaf3de Merge remote-tracking branch 'upstream/master' Dan Hirsch 2012-05-04 21:27:09 +01:00
  • b4aca3c992 Fixed declaration of negate -> notin Dan Hirsch 2012-05-04 21:25:26 +01:00
  • 2af69dd8f9 Sped up charset parsing; fixed choice operator Dan Hirsch 2012-05-04 21:23:56 +01:00
  • 709884faf5 difference and xor combinators done. Meredith L. Patterson 2012-05-03 02:31:22 +01:00
  • 3016fd2460 Got rid of old comments about how jsparse caches, since we've settled on a cache layout Meredith L. Patterson 2012-05-03 02:09:00 +01:00
  • a076c4d12c Merge remote-tracking branch 'upstream/master' Dan Hirsch 2012-05-03 01:59:03 +01:00
  • 491c2ec2fa Added do_parse function, and filled in parse driver Dan Hirsch 2012-05-03 01:58:09 +01:00
  • 19e36e1cfe Fixed build (completed butnot combinator). Also, fixed bug where sequence wasn't bailing out if one parser failed. Meredith L. Patterson 2012-05-03 01:40:23 +01:00
  • 7fa1111d84 Started working on butnot/difference/xor, but not gonna finish those tonight. Meredith L. Patterson 2012-05-01 03:59:49 +01:00
  • 37ff85eae8 Fixed signedness errors in two loops, got rid of unused variable in parse_choice Meredith L. Patterson 2012-05-01 03:57:37 +01:00
  • 530eed8df3 Merge pull request #4 from thequux/master Meredith L. Patterson 2012-04-30 19:40:39 -07:00
  • f7e7f92408 Parsers for sequence and choice are done. Got rid of join_action, we didn't need it. parse_result_t now contains a single parsed_token_t (and whatever we decide to jam into it later), so that sequence makes sense. Meredith L. Patterson 2012-05-01 03:21:14 +01:00
  • 5f26455924 Cleaned up makefiles a bit, fixed all the warnings in hammer.c Dan Hirsch 2012-05-01 02:05:58 +01:00
  • a125975737 Quieter build Dan Hirsch 2012-04-30 23:35:11 +01:00
  • ddcfa5b1b2 Added fast path for bitreader Dan Hirsch 2012-05-01 01:45:45 +01:00
  • f4d116d411 See previous commit message. Saved hammer.h later than I should've. Sorry. Meredith L. Patterson 2012-05-01 00:45:46 +01:00
  • 318b594bed Parser combinators are well underway. Ones that are now finished are: Meredith L. Patterson 2012-05-01 00:33:47 +01:00
  • bc51198354 Fixed pointer signedness warning Dan Hirsch 2012-04-30 23:34:27 +01:00
  • dfd8cf2a97 Settled on cache layout, wrote djbhash variant for indexing byte/bit positions into inner hash table Meredith L. Patterson 2012-04-30 03:44:10 +01:00
  • 1789cbf0ca Fixed default 'all' target; fixed format warnings in test suite Meredith L. Patterson 2012-04-30 02:32:32 +01:00
  • 4543b091cb Merge pull request #3 from thequux/master Meredith L. Patterson 2012-04-29 18:23:51 -07:00
  • 6dd36f9acd That should fix the build on Ubuntu; also, it should add a clean target Dan Hirsch 2012-04-30 02:20:49 +01:00
  • 4032db51f1 Merge pull request #2 from thequux/master Meredith L. Patterson 2012-04-28 18:09:19 -07:00
  • faab7b7cf8 Wrote basic makefile, wrote tests, and then fixed them Dan Hirsch 2012-04-29 01:45:52 +01:00
  • 7adae0da7c Wrote bitwise reader; needs tests Dan Hirsch 2012-04-23 19:39:44 +01:00
  • cfef13b436 Merge pull request #1 from thequux/master Meredith L. Patterson 2012-04-22 16:43:01 -07:00
  • 5ee7865458 Added allocator and first cut at makefile Dan Hirsch 2012-04-23 00:35:58 +01:00
  • 2e3aa10af0 Moved source files Dan Hirsch 2012-04-23 00:35:00 +01:00
  • 19b3f985e1 Licensing under GPL v2. Meredith L. Patterson 2012-04-23 00:02:42 +01:00
  • e770cf0bff Renamed parser, parse_result to parser_t, parse_result_t; introduced closures. Meredith L. Patterson 2012-04-22 23:40:25 +01:00
  • 9e747f26d4 Oops, too much pointer indirection Meredith L. Patterson 2012-04-22 15:39:04 +01:00
  • ab9d48b886 Since C doesn't have namespaces, renamed result to parse_result. Meredith L. Patterson 2012-04-22 15:33:10 +01:00
  • b6c98d85f2 Typedefs make everything so much more readable. Meredith L. Patterson 2012-04-22 15:30:49 +01:00
  • 7c6451d309 Figured out type signatures for combinator functions. I think, anyway. Meredith L. Patterson 2012-04-22 05:15:40 +01:00
  • 8ec43ffed4 Initial port from jsparse. Meredith L. Patterson 2012-04-22 04:47:08 +01:00