Closed velociraptors closed 15 years ago
since this is an issue in the MML parser, we can't actually fix it.
good point
maybe we should mention this to the grad student doing this project?
i did when i first discovered the issue. there's another guy rewriting the parser, so i think we should close this as "Can't Fix"
The MML parser strips whitespace as it processes a file. Since if/else/elseif blocks can be delimited by whitespace, the regex won't find those keywords if the block isn't wrapped in parentheses or brackets. For example: "Y = if (X=0) A+B else A_C" becomes "if(X=0)A+BelseA_C" and the validation tries to find a parameter/variable named 'BelseA' and fails. The alternative is to remove the word boundaries from the regex (or add the keywords to the separators passed to String->Split), but this erroneously strips keywords from variable names. ("xabs" becomes "x" and validation fails.)