Сообщение Re[3]: сколько проходов должно быть у транслятора? от 13.03.2017 7:58
Изменено 13.03.2017 11:25 Privalov
Re[3]: сколько проходов должно быть у транслятора?
Здравствуйте, netch80, Вы писали:
P>>IF IF=THEN THEN THEN=ELSE; ELSE ELSE=IF; /* Правильно так. В эпоху перфокарт из-за такой мелочи можно было легко рабочий день потерять */
N>Да, пример злобный.
Ага. Причем я его не сам придумал. Он откуда-то из студенческих времен, когда нас учили читать исходники по распечатке. Похожие примеры были и для Фортрана.
N>Сочувствую студентам — повторить все хитрости уровня ассемблера (а вряд ли это чисто алгоритмически влезли в 96K) было нетривиально.
Я деталей не знаю. Знаю только, что там в полный рост использовались оверлеи.
чно. Там подсветка не особенно хорошо работала.
N>А сейчас часто грабли — наличие зарезервированных слов
Я на это нарывался несколько раз. Когда к C++ проекту подключали legacy, сделанный на чистом C. Там частенько можно было встретить this в качестве идентификатора. Реже — class и некоторые другие. Переименование таких идентификаторов связвно с известными трудностями.
N>Вообще имеет смысл в новых языках делать где-то так: Символ '$' (например) перед любым идентификатором исключает восприятие этого идентификатора как зарезервированного слова.
Или пользоваться правильными язывами, у которых хорошая поддержка со стороны IDE. Все-таки время перфокарт и IEBUPDTE прошло.
N>И строку в виде @IF $IF=$THEN @THEN $THEN=$ELSE; @ELSE $ELSE=$IF; поймут и человек, и машина.
Достаточно просто "@" пропустить. И не обратить внимания но то, что IDE слово не тем цветом выделено.
P>>IF IF=THEN THEN THEN=ELSE; ELSE ELSE=IF; /* Правильно так. В эпоху перфокарт из-за такой мелочи можно было легко рабочий день потерять */
N>Да, пример злобный.
Ага. Причем я его не сам придумал. Он откуда-то из студенческих времен, когда нас учили читать исходники по распечатке. Похожие примеры были и для Фортрана.
N>Сочувствую студентам — повторить все хитрости уровня ассемблера (а вряд ли это чисто алгоритмически влезли в 96K) было нетривиально.
Я деталей не знаю. Знаю только, что там в полный рост использовались оверлеи.
чно. Там подсветка не особенно хорошо работала.
N>А сейчас часто грабли — наличие зарезервированных слов
Я на это нарывался несколько раз. Когда к C++ проекту подключали legacy, сделанный на чистом C. Там частенько можно было встретить this в качестве идентификатора. Реже — class и некоторые другие. Переименование таких идентификаторов связвно с известными трудностями.
N>Вообще имеет смысл в новых языках делать где-то так: Символ '$' (например) перед любым идентификатором исключает восприятие этого идентификатора как зарезервированного слова.
Или пользоваться правильными язывами, у которых хорошая поддержка со стороны IDE. Все-таки время перфокарт и IEBUPDTE прошло.
N>И строку в виде @IF $IF=$THEN @THEN $THEN=$ELSE; @ELSE $ELSE=$IF; поймут и человек, и машина.
Достаточно просто "@" пропустить. И не обратить внимания но то, что IDE слово не тем цветом выделено.
Re[3]: сколько проходов должно быть у транслятора?
Здравствуйте, netch80, Вы писали:
P>>IF IF=THEN THEN THEN=ELSE; ELSE ELSE=IF; /* Правильно так. В эпоху перфокарт из-за такой мелочи можно было легко рабочий день потерять */
N>Да, пример злобный.
Ага. Причем я его не сам придумал. Он откуда-то из студенческих времен, когда нас учили читать исходники по распечатке. Похожие примеры были и для Фортрана.
N>Сочувствую студентам — повторить все хитрости уровня ассемблера (а вряд ли это чисто алгоритмически влезли в 96K) было нетривиально.
Я деталей не знаю. Знаю только, что там в полный рост использовались оверлеи.
N>А сейчас часто грабли — наличие зарезервированных слов
Я на это нарывался несколько раз. Когда к C++ проекту подключали legacy, сделанный на чистом C. Там частенько можно было встретить this в качестве идентификатора. Реже — class и некоторые другие. Переименование таких идентификаторов связвно с известными трудностями.
N>Вообще имеет смысл в новых языках делать где-то так: Символ '$' (например) перед любым идентификатором исключает восприятие этого идентификатора как зарезервированного слова.
Или пользоваться правильными язывами, у которых хорошая поддержка со стороны IDE. Все-таки время перфокарт и IEBUPDTE прошло.
N>И строку в виде @IF $IF=$THEN @THEN $THEN=$ELSE; @ELSE $ELSE=$IF; поймут и человек, и машина.
Достаточно просто "@" пропустить. И не обратить внимания но то, что IDE слово не тем цветом выделено.
P>>IF IF=THEN THEN THEN=ELSE; ELSE ELSE=IF; /* Правильно так. В эпоху перфокарт из-за такой мелочи можно было легко рабочий день потерять */
N>Да, пример злобный.
Ага. Причем я его не сам придумал. Он откуда-то из студенческих времен, когда нас учили читать исходники по распечатке. Похожие примеры были и для Фортрана.
N>Сочувствую студентам — повторить все хитрости уровня ассемблера (а вряд ли это чисто алгоритмически влезли в 96K) было нетривиально.
Я деталей не знаю. Знаю только, что там в полный рост использовались оверлеи.
N>А сейчас часто грабли — наличие зарезервированных слов
Я на это нарывался несколько раз. Когда к C++ проекту подключали legacy, сделанный на чистом C. Там частенько можно было встретить this в качестве идентификатора. Реже — class и некоторые другие. Переименование таких идентификаторов связвно с известными трудностями.
N>Вообще имеет смысл в новых языках делать где-то так: Символ '$' (например) перед любым идентификатором исключает восприятие этого идентификатора как зарезервированного слова.
Или пользоваться правильными язывами, у которых хорошая поддержка со стороны IDE. Все-таки время перфокарт и IEBUPDTE прошло.
N>И строку в виде @IF $IF=$THEN @THEN $THEN=$ELSE; @ELSE $ELSE=$IF; поймут и человек, и машина.
Достаточно просто "@" пропустить. И не обратить внимания но то, что IDE слово не тем цветом выделено.