Автор перенёс забытый язык программирования «Эллочка» из MS-DOS в Windows на Zig за 10 часов. Интерпретатор 1999 года из Баку воссоздан по описанию без исходников с помощью нейросетей.
В 1999 году в Баку Эрих Генрихович Гаузер создал интерпретируемый язык программирования «Эллочка» для MS-DOS. Два десятилетия позже разработчик нашёл упоминание о нём в комментариях и решил воссоздать интерпретатор на современном стеке — языке Zig — не имея исходного кода, а опираясь только на документацию автора.
Проект занял десять часов: час на базовую архитектуру и девять вечерних часов на реализацию всех 62 операторов. Особенность языка — однопроходный интерпретатор без построения синтаксического дерева, фиксированная длина строки в 75 символов и динамические строки до 1024 символов. Подсчёт длины велся в Unicode-символах, что критично для поддержки кириллицы.
Большую часть кода сгенерировали нейросети: роль автора заключалась в сборе информации, архитектурных решениях, код-ревью и тестировании. Эффективный рабочий процесс выстроили через диалог с ИИ: одна модель задавала уточняющие вопросы, ответы на которые готовились с помощью поисковиков и других нейросетей, после чего модель выдавала точный код без упрощений.
Графический подсистему вынесли в отдельное окно Win32 с закадровым DIB-буфером и насосом сообщений для отзывчивости. Успешно запустили оригинальный скрипт sample.ela (потребовалась перекодировка из DOS-кодировки в UTF-8), а также другие примеры автора. Полностью перенесена графика, включая меню и вывод текста в графическом режиме. Три сложные математические функции — линейная алгебра, полиномиальная аппроксимация и нелинейная модель — не реализованы по нехватке времени.
В примеры добавлены текстовая и графическая версии игры «Змейка», проверяющие работу клавиатуры, экранного вывода, условий, переходов и рисования. Оригинальная игра «Piton» от автора «Эллочки» опубликована с разрешения как доказательство пригодности языка для создания DOS-игр. Проект демонстрирует, как современные инструменты и ИИ позволяют воскрешать утерянные технологии ради интереса к процессу.




