Commit Graph

91 Commits

Author SHA1 Message Date
Maurice Makaay 22144487f0 String parser replaced with a low level parser for performance. 2019-08-01 13:25:21 +00:00
Maurice Makaay ed846c7e53 Wrote a first crude version of specific tokenizer handlers for string parsing. Missing feature is good error reporting from the tokenize handler code (which has been a TODO for a while, so a nice one to implement after this). 2019-07-31 07:51:37 +00:00
Maurice Makaay 5ff6f20ab7 Speed improvements 2019-07-29 23:51:03 +00:00
Maurice Makaay 74274e04fb Made a big jump in performance on big files with lots of comments, by reading in chunks till end of line, instead of byte-by-byte. 2019-07-28 23:50:30 +00:00
Maurice Makaay 44f022544f Restructured the BurntSushi testing code, to not let it be a part of the TOML AST. 2019-07-28 14:51:14 +00:00
Maurice Makaay dea3eb987b Changes for compatibliity with latest parsekit, and some speed improvements. 2019-07-26 22:56:24 +00:00
Maurice Makaay bf7b693cb8 Lowering the number of forks required. 2019-07-24 22:42:54 +00:00
Maurice Makaay 68ab1293f2 Code cleanup. 2019-07-23 20:09:30 +00:00
Maurice Makaay 5ccb16f38f Backup work. 2019-07-22 23:27:59 +00:00
Maurice Makaay 5815a93a01 Small compatibility fix. 2019-07-20 17:41:59 +00:00
Maurice Makaay 35e4c9411c Fixed a small issue in the Makefile to "make test-sushi" work again. 2019-07-20 00:29:38 +00:00
Maurice Makaay c396e52632 A few new bits and bobs for performance testing. 2019-07-19 21:12:06 +00:00
Maurice Makaay 96a72c4c48 Various small updates, related to speed improvements. 2019-07-18 00:23:14 +00:00
Maurice Makaay c37404875d Some changes due to the performance improvements in parsekit. 2019-07-16 06:22:29 +00:00
Maurice Makaay 2fb6a5fd34 Further performance optimization and code cleanup. 2019-07-12 21:32:32 +00:00
Maurice Makaay b8d99972bb Made it easier to do some profiling on the code. 2019-07-12 12:33:53 +00:00
Maurice Makaay a9964163c1 Squishing out more performance. 2019-07-12 00:20:52 +00:00
Maurice Makaay 83be756015 Cleaning up the grammar-based TOML-parser now the core is stable again. 2019-07-11 14:50:42 +00:00
Maurice Makaay be5f3b6f55 Optimization round completed (for now :-) All tests successful. 2019-07-11 12:43:27 +00:00
Maurice Makaay 30a0d80d84 Backup work on performance improvements. 2019-07-08 14:30:39 +00:00
Maurice Makaay 1d65cfdd7b Backup changes for performance fixes. 2019-07-08 00:12:00 +00:00
Maurice Makaay 68dbf2d78e Backup changes for performance fixes. 2019-07-05 15:06:57 +00:00
Maurice Makaay c97a21b146 Backup work to performance tuning. 2019-07-05 08:08:33 +00:00
Maurice Makaay af5d35ecee Cleaning up some logic around whitespace / newlines / comments. 2019-07-04 11:31:28 +00:00
Maurice Makaay 019dd35d83 Backup insane idea. 2019-07-03 15:46:23 +00:00
Maurice Makaay c67a91b1ca Ignore build output, removed some profiling code. 2019-06-30 10:15:39 +00:00
Maurice Makaay a28269800a Make use of the new feature to run without sanity check on the parser, to make the big testfiles-based test suite faster. 2019-06-30 01:07:13 +00:00
Maurice Makaay 9680c2b844 Implemented TOML arrays as a linked list, which prevents a lot of memory copying on large arrays. Also implemented a json comparison, inspired by BurnSushi's version, which makes the tests work when keys in JSON maps are not in the expected order. 2019-06-29 23:11:03 +00:00
Maurice Makaay 7227fdcb93 Integrated multiple file-based test suites (BurntSushi, iarna and my own) into the unit tests. BurntSushi's tests are also still supported using the test interface implementation from cmd/burntsushi-tester. 2019-06-29 15:45:52 +00:00
Maurice Makaay ec3a47da8d Composition over inheritance, why didn't I do that in the first place I wonder. 2019-06-28 08:34:35 +00:00
Maurice Makaay febe1ff568 Bits of code cleanup, no functional changes. 2019-06-28 08:23:43 +00:00
Maurice Makaay b1484cb690 Slight improvement for the document-level error in case no key or table was found. 2019-06-27 22:54:54 +00:00
Maurice Makaay 5782971bde 100% compatibility with the BurntSushi tests established. 2019-06-27 22:43:17 +00:00
Maurice Makaay 0d4cb356e9 Straightening out a few small wrinkles that came up from testing against the BurntSushi testset. 2019-06-27 22:01:56 +00:00
Maurice Makaay 13d0011d9d Oops, committed some build output and test files. 2019-06-27 13:59:40 +00:00
Maurice Makaay 6b9a7adfd9 Added support for the BurntSushi TOML tests. 2019-06-27 13:58:13 +00:00
Maurice Makaay 63cbe18d03 Backup work, before switching from module development setup to standard GOPATH workspace setup (some tooling simply is not yet working with it, and I mainly miss refactoring a lot) 2019-06-27 07:36:24 +00:00
Maurice Makaay b95f255ae7 Moved all parser code into subpackage 'parse'. 2019-06-26 21:51:42 +00:00
Maurice Makaay 54cb75955d Went over the full TOML AST implementation to give stuff good names.
Also pushed all tests to ast_test to make sure that the public interface
is sufficient for using the package
2019-06-26 15:38:32 +00:00
Maurice Makaay 688894dbf2 Extracted the toml AST to its own subpackage. Preparation for having encoder and decoder as well, not all inside the main toml dir. 2019-06-26 13:57:22 +00:00
Maurice Makaay da62fc078e Removed .vscode folder from repo. 2019-06-26 12:55:30 +00:00
Maurice Makaay fd9365b842 Implemented inline tables + tests. 2019-06-26 12:54:04 +00:00
Maurice Makaay 97153fc806 Brought test coverage too 100%. 2019-06-26 07:18:42 +00:00
Maurice Makaay 608e68c207 Cleaning up test code. 2019-06-26 06:39:41 +00:00
Maurice Makaay c536dd1243 Huge overhaul in AST handling. The AST is now fully integrated with the parser, which has been simplified quite a bit because of this. 2019-06-25 21:29:05 +00:00
Maurice Makaay 15560b29b0 Added a good string formatter for the AST, to making testing more straight forward. 2019-06-24 07:05:38 +00:00
Maurice Makaay 8838dc9c44 Backup work. 2019-06-23 12:05:52 +00:00
Maurice Makaay 726b5a377b A bit of code cleanup, to let the date/time code better represent the ideas behind the followed methodology. 2019-06-19 11:28:03 +00:00
Maurice Makaay 45245e05b6 Some small cleanup, committing before I continue with inline lists. 2019-06-19 11:09:26 +00:00
Maurice Makaay c405260ea6 All base value types for TOML implemented (added date/time types and implemented correct detection of the possible value types). All examples from the TOML specification key/value assignments have been added to the unit tests. All are gree :-) 2019-06-19 10:42:51 +00:00