Maurice Makaay
1f0e0fcc17
Splitting up functionality in packages, intermediate step.
2019-06-11 22:23:30 +00:00
Maurice Makaay
0f7b4e0d26
Added a few syntactic sugar methods for ParseHandler.
2019-06-11 09:09:41 +00:00
Maurice Makaay
add28feb33
In the spirit of Go, slimmed down the ParseAPI interface. I'm no longer using ParseAPI.On(..).<DoSomething>(), but now it's simply ParseAPI.<DoSomething>(). I also dropped the difference between a Stay() and an Accept(). All that is possible now is ParseAPI.Peek() and ParseAPI.Accept().
2019-06-09 10:25:49 +00:00
Maurice Makaay
9f5caa2024
Backup work.
2019-06-08 22:48:56 +00:00
Maurice Makaay
9a5bf8b9af
Further code cleaning for the interaction between ParseAPI and TokenAPI. Extra atoms added, also one based on a callback which can accept single runes based on thhat callback function.
2019-06-07 15:48:49 +00:00
Maurice Makaay
98d2db0374
Moved Reader into its own package.
2019-06-07 10:55:55 +00:00
Maurice Makaay
6d92e1dc68
Merged functionality of p.Expects(string) and p.UnexpectedInput().
...
It is now simply p.UnexpectedInput(string). This makes the naming
of unexpected input not as magical, but explicit (which is a GoodThing).
With one of the earlier incarnations of parsekit it did make sense,
but it went in a way in which explicit is more idiomatic for the package.
2019-06-07 07:56:24 +00:00
Maurice Makaay
3094b09284
Adding documentation and getting the interactions between ParseAPI and TokenAPI cleaned up a bit.
2019-06-07 07:26:41 +00:00
Maurice Makaay
05585db341
Normalizing error handling, to always include the caller location in errors. This makes debugging a lot easier for users of the package, because it doesn't say stuff like 'Method() was called incorrectly', but instead something like 'Method() was called incorrectlty at /path/to/file.go:1234'.
2019-06-05 10:07:50 +00:00
Maurice Makaay
75373e5ed5
Big simplification run once more, cleaned up code, added tests and examples, made stuff unexported where possible, to slim down the exported interface.
2019-06-04 23:15:02 +00:00
Maurice Makaay
4580962fb8
Backup a load of work on typed token support, making it easy to produce tokens directly from parser/combinator-based parsing rules.
2019-06-04 00:03:08 +00:00