That still may be of little help in, say, a perl IDE, as the meaning of a program _can_ depend on the input it reads.
"But that will not happen in practice"
If you think that to be the case, use a language that _can_ be parsed. That makes life easier for implementers of IDE's, refactoring tools, etc. and costs you nothing (given the "that will not happen in practice" claim)