If it's not "syntactially" correct; it's not code. It's either unused, or data provided to something that is code. I need to understand the code; then I can learn what it does with the data.
Yes - but what you seem to be saying is that debugging somehow becomes a great deal more dangerous if you cannot syntax check your program without running BEGIN blocks, etc.
If that is what you're saying then I don't understand it - since it is manifestly not true in my experience.
If that isn't what you're saying then you need to restate it so poor fools like me can understand what you're getting at.