
Как я перенёс интерпретатор «Эллочка» из DOS в Windows за 10 часов с помощью AI
Автор за час создал базовый интерпретатор на Zig, а за 9 часов реализовал все 62 оператора оригинального языка 1999‑го года, используя ИИ.
Кратко о проекте
Две недели назад к автору статьи о скриптовом языке для Wiremock написал Эрих Генрихович Гаузер – создатель интерпретатора «Эллочка», написанного в 1999 году для DOS. На сайте проекта были лишь описание синтаксиса и список операторов, исходного кода не было.
Что сделано
- Исследование: за час автор изучил спецификацию и сформулировал требования к минимальному интерпретатору.
- AI‑помощь: с помощью ChatGPT‑4 (и нескольких запросов к другим моделям) был сгенерирован каркас интерпретатора на языке Zig, подходящем для системного программирования под Windows.
- Базовый прототип: за первый час получилась рабочая оболочка, умеющая читать файл и разбивать его на токены.
- Полная реализация: за последующие 9 часов, опираясь на ответы ИИ, реализованы все 62 оператора языка (условные конструкции, циклы, ввод‑вывод, работа с массивами и т.д.).
- Тестирование: написаны наборы тестов, покрывающие 95 % функционала оригинального интерпретатора.
Технические детали
- Язык реализации – Zig 0.12, выбранный за простоту компиляции в нативный Windows‑exe и отсутствие runtime.
- Для генерации кода использовались подсказки типа "write a recursive descent parser for operator X in Zig".
- Весь процесс документирован в статье на Habr: https://habr.com/ru/articles/1072306/.
Итоги
Проект показал, что даже без доступа к исходникам можно воссоздать полностью рабочий интерпретатор за один рабочий день, используя современные LLM и язык системного уровня.
Для разработчиков и студентов это яркий пример того, как LLM могут ускорять обратную разработку и прототипирование новых инструментов. Быстрое создание парсера на Zig открывает возможности миграции старого кода в современные среды, но требует внимательной проверки корректности и лицензий.


