Input File Parser

Dear all,

currently input file parsing in OGS5 is handled at many different
places. Thus, the same functionality is implemented many times, which
makes it hard to verify that input files are processed always in the
same manner: Are comments and empty lines always ignored? Do keywords
always start with '$' or '#'?

In order to unify parsing I wrote a small input file parser, which will
make sure that the above points are always obeyed. However, currently
there are several subkeywords which do not start with '$' in the msp
file (at which I looked so far) these are

* EXPANSION
* CAPACITY
* CONDUCTIVITY
* CONDUCTIVITY_TENSOR
* YOUNGS_MODULUS
* $E_Function (is not all uppercase)
* $CREEP (has many variants)

In order to get a consistent format across all input files I would like
to introduce the following subkeywords instead of the above:

* $THERMAL_EXPANSION
* $CAPACITY
* $CONDUCTIVITY
* $CONDUCTIVITY_TENSOR
* $YOUNGS_MODULUS
* $E_FUNCTION
* $CREEP_NORTON
* $CREEP_BGRA
* $CREEP_BGRB
* $CREEP_BGRSF
* $CREEP_LUBBY2

That means that after I merge my changes into trunk, you have to use
the new keywords. Many benchmark input files will have to be changed,
too. But I will do that, of course. Benchmark results will not change.

In exchange for your effort of learning new keywords, the new input
file parser will warn you about errors in the input files.

The list given above is only from the msp file. I guess, there will be
some incompatible keyword names also in other files, so there will be
more to change.

If you have any obligations against my changes, please discuss them
here at the mailing list until 15 September. Afterwards I would like to
merge my code. I hope, having a unified input file format and getting
meaningful warning messages will convince you of the utility of the new
parser.

Best regards,
Christoph