Implement new input format
Reko-Direkt uses complicated input files which are very hard to parse by other programs, for example python scripts (example input files can be found in the repository at `test/rd/testcases`). Therefor, Reko-Direkt should support a standardized input format. The `Eingabe_I` and `Eingabe_II` format are affected by this change. The new format should be the [TOML](https://toml.io/en/) file format. For this, the Fortran library `toml-f` (see [here](https://github.com/toml-f/toml-f)) should be used. The following features should be implemented: * [x] An input file requires a certain format (which is specified by the TOML-standard) and strictly defined structure. The structure needs to be defined, meaning there needs to be some specification which keys the input file must contain. _Important:_ The new TOML formatted input file must contain all information previously provided by `Eingabe_I` and `Eingabe_II`. * [ ] All testcases must be converted to this new input format (also used for testing while implementing). Testcases are located at `test/rd/testcases`. - [x] Convert just a single testcase (e.g. `HR02`). This testcase can then be used for testing during implementation. - [ ] Convert all other testcases. * [x] The new file format and structure need to be implemented. - [x] Compile Reko-Direkt with `toml-f` (GNU Make and CMake), so that all of its functionality can be used by Reko-Direkt. - [x] To not have all old input files be invalid after the update, the old input format should still be usable. So, if an argument is given on command line, Reko-Direkt should treat that file as `toml`-formatted, otherwise use the old behavior. - [x] The structure previously defined must be implemented using the `toml-f` library. All functionality previously implemented by `Eingabe.f90` and `Eingabe_II.f90` must also be present in the new implementation. * [ ] An automated test in the pipeline must check whether the new functionality works, e.g. by comparing the results of both input formats. * [x] Optional: The previous input required `Eingabe_III.txt` to exist in the current directory. It would be nice if, for the new file format, the location of that file could be provided manually. * [ ] Update `README.md` to describe both the old and new format * [ ] Create a template for the new input format, describing the basic format (e.g. at `dev/Eingabe.toml`). Do not forget to mention this in the README. Note: All new files should follow the `Eingabe_` and `Ausgabe_` naming conventions to be compliant with how the FMU is compiled.
issue