Ah, I see. Generally speaking, I think we're doing very little to check the validity of the output.sas files, which are treated mostly as internal. But of course we do document the format and occasionally encourage people to generate it themselves, so perhaps this lack of checks is something we should change.
For example, we document line breaks but I think we don't care about them at all except perhaps around magic words where we might use line-based input rather than token-based input. I don't think we range-check any of the integers except perhaps via assertions, which are a debug feature rather than an input validation feature. I'm not sure, but I expect we'd even interpret every non-integer token (e.g. the word "bla") as the number 0 without complaining. There are also more semantic things like affecting the same variable twice with non-conditional effects, which we don't allow.
That doesn't mean I'd be against introducing checks that people find useful. But then perhaps we should consider doing this consistently while we're looking at this part of the planner.
All the mentioned possible deficiencies are from memory. Perhaps we do actually check the input and I forgot. :-)
|