Commit Graph

70 Commits

Author SHA1 Message Date
Maurice Makaay f7d1e28fa1 Dropped the whole channel support for the parser internals. It seems a nice idea to work with, but it's hard to predict how much buffering the channel should have to make all parsers work. When the buffer is too small, then a StateHandler that emits more items than can be buffered will end up in a deadlock and stall the application. It is easy enough to replace the channel with a slice of Items, so I did. 2019-05-26 11:32:45 +00:00
Maurice Makaay d0d12dae22 Added a new example, yet another hello world. 2019-05-26 10:15:34 +00:00
Maurice Makaay c6fde2cf4e A big round of getting-ya-terminology-straight. 2019-05-26 09:25:34 +00:00
Maurice Makaay 2751c78003 Got rid of the full On()...etc chains for both code clarity and usability clarity. Working on good examples and shaving the API's accordingly. 2019-05-25 22:53:04 +00:00
Maurice Makaay b0cd017b83 Removed old file. 2019-05-25 15:22:06 +00:00
Maurice Makaay bb1e462892 Ah, found a good way to document larger examples which need function definitions and such. Let's see if this works in godoc nicely. 2019-05-25 14:37:38 +00:00
Maurice Makaay 8a6815332e Example extended. 2019-05-24 23:55:10 +00:00
Maurice Makaay e9c618580d Example extended. 2019-05-24 23:53:04 +00:00
Maurice Makaay 723e2a0c38 Added complete example for a parser. 2019-05-24 23:41:47 +00:00
Maurice Makaay 070a215ac3 More documentation example testing. 2019-05-24 21:34:54 +00:00
Maurice Makaay 3e87e010fb Banged some sense into the constructors. Instead of one convulated parsekit.New(), we now have parsekit.NewParser() and parsekit.NewMatcherWrapper(). ALso playing with adding examples to the documentation. 2019-05-24 20:50:31 +00:00
Maurice Makaay 6fe3c16a6d Added some more modifiers (ModifyReplace and ModifyByCallback). 2019-05-24 15:57:54 +00:00
Maurice Makaay c164f320cb Implemented P.ExpectEndOfFile() and shortened some parser/combinator functions (since Go-people seem to like that better than a somewhat longer descriptive name) 2019-05-24 13:59:01 +00:00
Maurice Makaay 6ad4499971 Backup work, created a lot of tests for parser combinators and atoms. Pretty solid now! 2019-05-24 12:41:34 +00:00
Maurice Makaay d9ab7298e7 Cleanup of test code structure. Added support for creating parsers for either StateHandler or Matcher functions. 2019-05-23 00:04:10 +00:00
Maurice Makaay 8a09b7ca49 Implemented a lot of atoms in the parsekit library, ready for use by a parser implementation. 2019-05-22 12:44:29 +00:00
Maurice Makaay 355f995388 Switched to using a function signature for all matchers, instead of an interface. There's no need for all those structs with methods. Also some little things to see if that improves documentation. 2019-05-21 23:24:01 +00:00
Maurice Makaay 7474565179 Trying to fix module paths (I have no idea what I'm doing :-) The idea is to make parsekit into a separate module in another repo. 2019-05-21 15:05:37 +00:00
Maurice Makaay eca2adc9fa Initial import of the parsekit module. 2019-05-21 14:49:44 +00:00
Maurice Makaay e1ff03587c Initial commit 2019-05-21 14:45:32 +00:00