1. C++ / Говнокод #26911

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int main()
    {
        + ! - ! -- -- ! + ! - - - ++ ~ - ! -- -- -- ~ ~ ~ ++ ++ ++ - ~ ++ - * - - -
        * ++ * * ++ * -- -- -- -- - * -- + * ++ ++ ++ ++ ++ * ++ * -- -- * -- - *
        
        BRAINFUCK;
        
        return 0;
    }

    https://ideone.com/EtK1J4

    Ответ на https://govnokod.ru/26910. Теперь с реальной конпеляцией в нативный код.

    Запостил: bormand, 03 Сентября 2020

    Комментарии (13) RSS

    • Маппинг операторов тот же самый, что и у госта.
      Ответить
    • хуита это всё, ебля со всякими крестоговняными перегрузками и шаблонами, лучше б интерпретатор брейнфака на FPGA запилил
      Ответить
      • т.е. брейнфаковый процессор с двумя UART, по одному из них заливается прошивка и используется потом для отладки какой-нибудь, по другому просто stdin/stdout
        Ответить
        • https://www.govnokod.ru/19841#comment322687

          Как-то так? Там вокруг нужен обвес с памятью и парой регистров, но это уже бойлерплейт.
          Ответить
    • Ебать поехавший.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Реализация gosta больше зашла. От крестошаблонов как-то пованивает.

      Оно в компайл-тайме чтоли считает?
      Ответить
      • > Реализация gosta больше зашла.
        > От крестошаблонов как-то пованивает.
        Очень удивился, подумав, что это про https://govnokod.ru/26913 (окончательная версия в https://govnokod.ru/26913#comment571303).
        Ответить
      • В компайлтайме следующая реализация госта считает.

        А это просто попытка откомпилить брейнфак в куски нативного кода. Но не особо удачная, плохо оптимизируется из-за массива. Компилятор вроде и мёржит какие-то куски типа нескольких плюсов подряд, но всё равно код не особо оптимальный.
        Ответить
        • Вы безумцы. Оба.
          Надо пособие практическое издать: как изучить крестошаблоны, шифруясь от санитаров.

          > Но не особо удачная, плохо оптимизируется из-за массива.
          Да, я как раз читаю ассемблерный выхлоп.
          Ответить
          • > ассемблерный выхлоп

            Ну не дотягивает он до AWIB, да. Я думал хотя бы простые штуки в духе умножения [>+++<-] свернутся, но хуй там.
            Ответить
          • В принципе, можно в компайлтайме паттерн-матчить и реврайтить куски брейнфака в более высокоуровневые ноды - сложение, умножение, копирование и т.п. Но боюсь, что там уже придут санитары.
            Ответить

    Добавить комментарий