Интерпретатор Python уместился в 1024 байта кода на C
10 сентября 2026
8
0

Остин Хенли пишет такой код по выходным и ставит жёсткие условия: никаких макро-трюков и подключённых библиотек, а на выходе должен работать fizzbuzz с def, двоеточиями и отступами. Стартовый лимит был 512 байт.
Не влезло. Первая версия дожила до x = 1 + 2 * 3 и if x > y: z = 3, лимит кончился, а получился калькулятор. Потолок поднялся до 1024, а порядок работы поменялся: сначала заставить работать, потом ужимать.
Внутри ничего похожего на CPython: ни токенизации, ни синтаксического дерева, ни байткода. Всё состояние держат несколько глобальных переменных: массив на 999 символов под исходник без пробелов и int vars[256] под таблицу имён, где переменные и функции лежат вперемешку.
Разбор с полным кодом.
#python