Хорошо. Давайте зайдем с другой стороны. Какой практический смысл в перекрытии предопределенных идентификаторов (помимо конфуза читающего потом этот код)?
Допустим, в языке введён предопределённый идентификатор Pi, который означает константу "число пи". А некий программист Вася вообще не знаком с тригонометрией
, но ему позарез нужен этот идентификатор для чего-то своего. Он пишет своё объявление Pi, которое автоматически перекрывает предопределённое, и никаких проблем не возникает (по крайней мере до тех пор, пока ему не понадобится число пи).
Что касается идентификатора INTEGER, то я бы его сделал ключевым словом. Возможно, Н.Вирт не хотел портить численные характеристики своего языка (раздувать список ключевых слов)
Мне было проще по-другому. Мало того, я считаю, что по-моему - правильнее
Возможно. Не вижу смысла с Вами спорить. Всё, что сказано выше мной, - это просто моё мнение.