У меня есть две ошибки
done
переменная должна быть определена до первого чтения - шаблон не должен быть в кавычках, где
?
является оператором не =
S prompt="Enter State and Zip (StateZip): "
S done=0
F W !,prompt R val Q:val="" D Q:done
. I val'?2A5N W !,"Invalid entry" Q
. S done=1
I val="" q
W !,"Valid Entry: ",val
Q
Почему вы используете короткие команды и точки?
Разве это не намного лучше читается?
Set prompt = "Enter State and Zip (StateZip): "
For {
Write !,prompt
Read val
Quit:val=""
Quit:val?2A5N
Write !,"Invalid entry"
}
If val="" Quit
Write !,"Valid Entry: ",val
Quit