Commit Graph

14 Commits

Author SHA1 Message Date
Maurice Makaay 5e3e4b0f0a Yay! First version for which parsing long.toml drops below 100ms! Got an outcome of 93ms. Almost down to BurntSushi's speed level, but still with a generic parser backing. Looking good!! 2019-07-16 23:34:01 +00:00
Maurice Makaay c532af67ca Optimization round completed (for now :-) All tests successful. 2019-07-11 12:43:57 +00:00
Maurice Makaay cdfc4ce52c More documentation and examples. 2019-06-12 16:17:13 +00:00
Maurice Makaay 27c97ae902 Big overhaul on separating packages for code containment. 2019-06-12 14:30:46 +00:00
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 76336e883e Removed the use of Error.Full(). The default Error() method now includes the extra data from Full() (line and column offset) 2019-06-09 15:20:44 +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 05ae55c487 Brought the examples up-to-date with the lateset code. All are working correctly now. 2019-06-07 16:20:32 +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 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 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