Здравствуйте, Privalov, Вы писали:
P>Можно подумать, тот же C++ с ключевыми словами такого не позволяет.
Тогда в чем разница между зарезервированными и незарезервированными?
P>Когда служебные слова языка можно использовать в качестве идентификаторов, некоторые обязательно этим воспользуются. Я не теоретик.
Ну да, поэтому слова и незарезервированы.
P>А транслятор, если встретит служебное слово, должен анализировать контекст. C++, конечно, тоже. Но если С++ увидит что-то не то, он просто вернет ошибку. А PL/1 будет думать, что ему делать. Не просто так компилятор PL/1 в 6 проходов работал.
Глупости. Структура языка и транслятор устроены жестко: все кроме метки и присваивания должно начинаться с ключевого слова, поэтому неоднозначностей не возникает. И если что-то не то, то и транслятор PL/1 также возвращает ошибку.