Сообщение Re: сколько проходов должно быть у транслятора? от 02.12.2016 13:25
Изменено 02.12.2016 13:28 Privalov
Здравствуйте, кт, Вы писали:
кт>как и предлагали в http://rsdn.org/forum/flame.comp/6616369.flat
кт>продолжаю выкладывать по просьбе автора статьи, уже не попавшие в исчезнувший журнал RSDN magazine
Это я периодически в качестве прикола привожу этот пример :
я, правда, оформляю его немного иначе:
Но о тупости разработчиков компилятора PL/1 я никогда не говорил. Наоборот, компилятор, работавший на IBM/360 можно считать шедевром. Который доставлял немало головняка некоторым студентам. Потому что работал в 96К памяти. И это было основанием для отказа студентам, которые иногда просили 128К. ЕМНИП, этот компилятор был шестипроходным.
Грабли языков программирования того времени – отсутствие зарезервированных слов. Как следствие – требование к компилятору проводить более глубокий анализ текста программы. И требование к программисту – следить за собой. Потому что в эпоху перфокарт исходный текст читался по распечатке. Или прямо с карт. Отличить имя переменной от служебного слова в таких условиях проблематично. Там подсветка не особенно хорошо работала.
кт>как и предлагали в http://rsdn.org/forum/flame.comp/6616369.flat
Автор: кт
Дата: 21.11.16
Дата: 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
кт>продолжаю выкладывать по просьбе автора статьи, уже не попавшие в исчезнувший журнал RSDN magazine
Это я периодически в качестве прикола привожу этот пример :
я, правда, оформляю его немного иначе:
Но о тупости разработчиков компилятора PL/1 я никогда не говорил. Наоборот, компилятор, работавший на IBM/360 можно считать шедевром. Который доставлял немало головняка некоторым студентам. Потому что работал в 96К памяти. И это было основанием для отказа студентам, которые иногда просили 128К. ЕМНИП, этот компилятор был шестипроходным.
Грабли языков программирования того времени – отсутствие зарезервированных слов. Как следствие – требование к компилятору проводить более глубокий анализ текста программы. И требование к программисту – следить за собой. Потому что в эпоху перфокарт исходный текст читался по распечатке. Или прямо с карт. Отличить имя переменной от служебного слова в таких условиях проблематично. Там подсветка не особенно хорошо работала.
кт>как и предлагали в http://rsdn.org/forum/flame.comp/6616369.flat
Автор: кт
Дата: 21.11.16
Дата: 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К. ЕМНИП, этот компилятор был шестипроходным.
Грабли языков программирования того времени – отсутствие зарезервированных слов. Как следствие – требование к компилятору проводить более глубокий анализ текста программы. И требование к программисту – следить за собой. Потому что в эпоху перфокарт исходный текст читался по распечатке. Или прямо с карт. Отличить имя переменной от служебного слова в таких условиях проблематично. Там подсветка не особенно хорошо работала.