* Functions in the RUN blocks are now correctly ignored
* Function lines which contain parameters with adjacent characters (+-*/()\t) should now be handled correctly [-> more tests are needed here]
Until now the program terminated with a segmentation fault which was not very user friendly...
* Got rid of a strange construction in the TRIM.SP handler (vector<pair> -> map)
---
Added a "global" option to msr2data
First, I hope, this major "surgery" does not cause any regressions in the standard features.
If so, please revert to an older version and file a bug report.
This new option is not yet documented and should be considered as experimental.
Also the newly added code still needs some cleanup - many things have simply been written as a proof of concept.
This will be done during further testing and fine-tuning stages.
The purpose of this method is to be able to write heavily modified msr-files using all the msr-handler support.
The further existing method PWriteMsrLogFile can only handle small changes to the msr-file (like changing parameter values or fixing the formatting),
however, it is e.g. not possible to add parameters or run blocks that have not existed before since during the mlog-file writing the original
msr-file is streamed again and then only things are handled which are present in the msr-file.
For writing the output the new method does _not_ read in the originally handled msr-file again!
Only the information stored in the internal data structures are used to recreate a full msr-file (including all changes that might have been made).
Since comments in the original msr-file are not stored internally these are lost.
At the moment it is however possible to add single lines of comments in the FITPARAMETER, THEORY, FUNCTIONS und between different RUN blocks.
This feature could easily be added also to the other blocks, if needed.
For now I skipped all checks for missing tags in the RUN blocks.
Nothing is tested, therefore:
THIS METHOD NEEDS TO BE REVIEWED AND TESTED BEFORE IT CAN BE USED SERIOUSLY!