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
|
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
|
a569c430d5
|
More sensible state naming. No need to prefix every state function with state_.
|
2019-05-18 01:49:30 +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
|
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 |