Вроде как даже сподобился

быть программистом. Видимо с большой буквы П. 🙂

каждый программист должен уметь написать компилятор и в своей жизни сделать это хотя бы раз (пусть для ненастоящего, но не совершенно тривиального языка).

Хм. Я даже могу сказать, что язык был настоящим и вызовы подпрограмм там тоже были, что делало язык не совершенно тривиальным.
Вот только я не уверен, что я умею написать компилятор вообще, поскольку теорию не изучал. Читал мельком что-то, но так, для общего представления.

8 thoughts on “Вроде как даже сподобился

  1. spamsink Post author

    Двоичные компиляторы годятся? И можно ли при написании компилятора использовать yacc?

    1. gmz Post author

      Ну я только сподобился. 🙂
      Я в тамошней дискуссии не участвовал, только задал один вопрос, про совершенную тривиальность языков. Но про YACC там вроде тоже речь шла.

      1. spamsink Post author

        Было лень встревать, но по-моему, компилятор – это всего лишь одна сторона медали, да и что там компилятор – знай себе алгоритмы грамматического разбора и синтеза кода реализуй по книжке. С моей точки зрения, программист должен самостоятельно написать интроспективную программу и вывести алгоритм реализации взаимного исключения.

        Совершенно тривиальный язык очень сложно придумать, поскольку даже одно целое число и последовательность рациональных чисел могут представлять собой машину, равномощную тьюринговой: механизм такой: “умножь целое число на первое число из списка, дающее целый результат, если такое есть, повтори; иначе стоп”.

        1. gmz Post author

          Ретроспективный, ретроспективный…. А это не программа ли, которая свой код печатает?
          Если да, то, как же, писал. На паскале, си, макроассемблере , и ещё на одном из “междусобойных” языков. У меня, правда, был ещё один заскок – я писал на нескольких языках игрушку “реверси”, даже в одном случае реализовал минимаксную стратегию.
          Правда я её, эту стратегию, всё равно обыгрывал, у неё глубины просмотра не хватало на углах.

          1. spamsink Post author

            Интроспективная – это действительно которая свой код печатает. Они еще известны под именем quine. А что касается минимакса, то я как-то калах написал от нечего делать на C++ минут за 20-30, а потом потерял.

          2. gmz Post author

            Ну про минимаксную стратегию я до того хоть что-то читал, а вот код, в котором я рисовал трёхмерные поверхности вращения в центральной проекции с учётом видимости или невидимости – действительно жалко. 🙂
            Вдруг я там что-то своё выдумал?

        2. gmz Post author

          Что-то у меня затмение: почему я написал ретроспективный?

  2. alexaggi Post author

    Ха. Значит я не программист с большой П. Компиляторов писать не приходилось. Вот разве что интерпритаторы – тех штуки 3 написал разных, с всевозможных fancy язычков чуть ли не собственного изготовления.
    Но ведь это не считается, да?
    (ушел печально мотая головой и бормоча себе под нос…)

Comments are closed.