diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..4a09f45 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "risp" +version = "0.1.0" diff --git a/README.md b/README.md new file mode 100644 index 0000000..820c8c1 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# History +- [I've created my first parser using RIS API, daily updated. Failed because I tried to do too much automatically (e.g. recognizing headers](https://gitlab.com/PhilippHofer/law) +- [Using print-website, I've extracted stuff w/ regex.](https://gitlab.com/PhilippHofer/ris/) +- [Tried to create a parser using print-website, proper(-ish) parser](https://gitlab.com/PhilippHofer/ris2) + +# Goals + +- [ ] I want to have the text of the law. +- [ ] I want to see the structure (proper headers) of the law. +- [ ] I want to be able to make comments (e.g. Erschöpfung) on certain parts +- [ ] I want to see since when this paragraph is in use. +- [ ] Lawtext should be updateable + +# Technical + +- I don't want to restrict myself with a [parser combinators](docs.rs/nom) but code it myself using *recursive descent* parser. +- Be strict in what I process. Fail if anything unexpected happens. The user should handle this case. It's fine if one decides to ignore the new/unexpected field, but it should be done deliberately. + +# Progress / Functions + +- [ ] Parse structure of law into struct using Deserilize trait, pot. multiple requests (if > 100 paragraphs) +- [ ] Parse risdok using own *RD parser*, again strict: fail if anything not expected happens, not sure (yet) if I want to operate on strings, or first parse using off-the-shelve XML reader (prob. 2nd option) +