Skip to content

Spec file parsing errors in comments

This specification file does not compile:

....
  optimisation
    fuse-algorithmic-steps        = on
    fuse-algorithmic-steps-factor = 0.99
  end optimisation

  /*
    Q0         = das skalare Feld "dens", die relativistische ruhemasse,
    (Q1,Q2,Q3) = den relativistischen Geschwindigkeitsvektor (Impuls),
    Q4         = das skalare Feld der inneren Energie (Hydrodynamik),
    (Q5,Q6,Q7) = das Magnetfeld (Vektorfeld, für SRHD=0).
    Q8         = Die Divergenz des Magnetfelds, die verschwinden muss und ein Mass fuer die numerische Exaktheit ist
   */
  solver ADER-DG MHDSolver
    variables          = 9
    parameters         = 0
    order              = 3
...

This is due to the comment. Comments in the specification file are not working like comments but they are parsed. The comment was actually added by Tobias himself in https://gitlab.lrz.de/gi26det/ExaHyPE/commit/3f7028f1989ce5367d92336a09bb25fc640eca43 and when doing this, the toolkit fails with the unhelpful message IOException: "Pushback buffer overflow", without mentioning any line number or so.

This is a real drawback of the proprietary configuration file format, as already mentioned by Fabian in https://gitlab.lrz.de/gi26det/ExaHyPE/issues/56#note_16127. If we had instead a simple configuration format as INI, JSON, YAML or so, such errors would not occur and instead, we could have fail proof comments like /* comment */, // comment or # comment.