Maurice Makaay
|
6a4a314fee
|
Backup work.
|
2019-05-24 12:41:53 +00:00 |
Maurice Makaay
|
6af770a918
|
Compatibility with the latest parsekit module.
|
2019-05-23 00:02:53 +00:00 |
Maurice Makaay
|
234bbdf30f
|
Compatibility with new atoms in parsekit.
|
2019-05-22 12:44:52 +00:00 |
Maurice Makaay
|
9a13e0dd7a
|
Split off the parsekit code into a separate repository and Go module.
|
2019-05-21 15:25:06 +00:00 |
Maurice Makaay
|
a3947feea7
|
Some changes to see how they reflect in godoc.
|
2019-05-21 13:23:30 +00:00 |
Maurice Makaay
|
9c0b889499
|
Adding a go file to the module root to make 'go get' happy.
|
2019-05-21 13:03:20 +00:00 |
Maurice Makaay
|
478efe3e25
|
Backup work.
|
2019-05-21 12:49:42 +00:00 |
Maurice Makaay
|
d9d837fe6e
|
Added a load of parser/combinator implementation, the system seems feasible!
|
2019-05-20 22:40:59 +00:00 |
Maurice Makaay
|
3677ab18cb
|
Backup work on code cleanup now the parser/combinator code is stable.
|
2019-05-20 12:24:36 +00:00 |
Maurice Makaay
|
84ae34fb5f
|
Just a bit of code formatting.
|
2019-05-19 23:44:11 +00:00 |
Maurice Makaay
|
e3e408dfdb
|
Phew, that was quite the update. I've now got a working implementation of a parser/combinator-like matching API, which prevents us from having to specify everything in state functions. That is way too low level for a lot of things. I'd rather have parser/combinator-style definitions for chunks of the input and keeping the state functions for higher level document structure parsing.
|
2019-05-19 23:35:03 +00:00 |
Maurice Makaay
|
55e23874f7
|
Hmm... even beter wording! Fully from the parser writer's perspective, hiding internals.
|
2019-05-18 13:21:56 +00:00 |
Maurice Makaay
|
a569c430d5
|
More sensible state naming. No need to prefix every state function with state_.
|
2019-05-18 01:49:30 +00:00 |
Maurice Makaay
|
e2e4fbd901
|
Slightly improved routing handling to prevent repeition in code for string parsing.
|
2019-05-18 01:28:27 +00:00 |
Maurice Makaay
|
4556520582
|
Added some more straightforwardness to the pattern magic coding. I can now write stuff like p.After(upper, upper, 4hex).Store() to store runes in the string buffer when the match is complete. Other options instead of Store() are for now Backup() (making it more of a peek) or Ignore() (skipping over the scanned text). I think this methodology forms a nice mental representation for the coder that uses the library. It's close to how we think about parsing (or at least I do)
|
2019-05-18 01:19:25 +00:00 |
Maurice Makaay
|
666cff3af3
|
Ahhhh found a name that clicked for the more general layer of the parser code: parsekit. That is short and tells me what it is. It's not a parser, but something to build parsers with. Now I could also name the actual parsing code as I would like to, namely 'toml/parser'. So it feels like the structure is settling down.
|
2019-05-17 22:03:10 +00:00 |
Maurice Makaay
|
3f638c59cd
|
Some huge refactorings before I start moving forward again. Learned a lot about Go in the meanwhile, and more ideas keep popping up to improve what I've got so far even further.
|
2019-05-17 19:56:55 +00:00 |
Maurice Makaay
|
9f19add210
|
Now the parser code is out of the way, we can split up the state functions describing the syntax of TOML into separate files, while still keeping it maintainable.
|
2019-05-17 14:13:25 +00:00 |
Maurice Makaay
|
db4a8f7942
|
Removed some source files that are not used anymore, after the refactoring steps.
|
2019-05-17 12:46:09 +00:00 |
Maurice Makaay
|
f86ef2b918
|
Splitting off a more generic parser (it's fun getting to know a language, but you keep refactoring with all new stuff that you learn :-)
|
2019-05-17 12:44:24 +00:00 |
Maurice Makaay
|
aeb48edc44
|
A little round of code cleanup.
|
2019-05-17 00:34:00 +00:00 |
Maurice Makaay
|
453a625a38
|
Fixed cursor position tracking (to report row + column on error). All tests are green again :-)
|
2019-05-17 00:11:12 +00:00 |
Maurice Makaay
|
29a13834dd
|
Simplify, simplify, simplify, and make handling of invalid UTF8 or unexpected en of file more robust.
|
2019-05-16 23:26:43 +00:00 |
Maurice Makaay
|
dc47ac3b71
|
Make short and long UTF8 escape sequences work in strings.
|
2019-05-16 16:17:23 +00:00 |
Maurice Makaay
|
cbc4f04179
|
Code cleanup and refactoring run, both functional code and the tests.
|
2019-05-16 14:17:06 +00:00 |
Ubuntu
|
6636a7a672
|
Implemented a separated lexer.StringBuffer, to not pollute lexer code with string building code. The string builder can provide built strings both as literal as-is string (in TOML: single quotes), or as interpreted strings (in TOML: between double quotes)
|
2019-05-15 22:47:06 +00:00 |
Ubuntu
|
866a928f57
|
Backup work.
|
2019-05-15 11:08:14 +00:00 |
Ubuntu
|
f6efd34b31
|
Initial import, work in progress.
|
2019-05-15 09:00:35 +00:00 |