Информация об изменениях

Сообщение Re: сколько проходов должно быть у транслятора? от 02.12.2016 13:25

Изменено 02.12.2016 13:28 Privalov

Здравствуйте, кт, Вы писали:

кт>как и предлагали в http://rsdn.org/forum/flame.comp/6616369.flat
Автор: кт
Дата: 21.11.16

кт>продолжаю выкладывать по просьбе автора статьи, уже не попавшие в исчезнувший журнал RSDN magazine

Это я периодически в качестве прикола привожу этот пример :
IF IF=THEN THEN ELSE=THEN; ELSE THEN=ELSE;

я, правда, оформляю его немного иначе:
IF IF=THEN THEN=ELSE; ELSE ELSE=IF;

Но о тупости разработчиков компилятора PL/1 я никогда не говорил. Наоборот, компилятор, работавший на IBM/360 можно считать шедевром. Который доставлял немало головняка некоторым студентам. Потому что работал в 96К памяти. И это было основанием для отказа студентам, которые иногда просили 128К. ЕМНИП, этот компилятор был шестипроходным.

Грабли языков программирования того времени – отсутствие зарезервированных слов. Как следствие – требование к компилятору проводить более глубокий анализ текста программы. И требование к программисту – следить за собой. Потому что в эпоху перфокарт исходный текст читался по распечатке. Или прямо с карт. Отличить имя переменной от служебного слова в таких условиях проблематично. Там подсветка не особенно хорошо работала.
Re: сколько проходов должно быть у транслятора?
Здравствуйте, кт, Вы писали:

кт>как и предлагали в http://rsdn.org/forum/flame.comp/6616369.flat
Автор: кт
Дата: 21.11.16

кт>продолжаю выкладывать по просьбе автора статьи, уже не попавшие в исчезнувший журнал RSDN magazine

Это я периодически в качестве прикола привожу этот пример :
IF IF=THEN THEN ELSE=THEN; ELSE THEN=ELSE;

я, правда, оформляю его немного иначе:
IF IF=THEN THEN=ELSE; ELSE ELSE=IF; /* UPD: Здесь я в результате ошибся: пропустил один THEN */
IF IF=THEN THEN THEN=ELSE; ELSE ELSE=IF; /* Правильно так. В эпоху перфокарт из-за такой мелочи можно было легко рабочий день потерять */

Но о тупости разработчиков компилятора PL/1 я никогда не говорил. Наоборот, компилятор, работавший на IBM/360 можно считать шедевром. Который доставлял немало головняка некоторым студентам. Потому что работал в 96К памяти. И это было основанием для отказа студентам, которые иногда просили 128К. ЕМНИП, этот компилятор был шестипроходным.

Грабли языков программирования того времени – отсутствие зарезервированных слов. Как следствие – требование к компилятору проводить более глубокий анализ текста программы. И требование к программисту – следить за собой. Потому что в эпоху перфокарт исходный текст читался по распечатке. Или прямо с карт. Отличить имя переменной от служебного слова в таких условиях проблематично. Там подсветка не особенно хорошо работала.