Законспектирую историю о компиляторе Би для PDP-7 Unix, восстановленном Робертом Свирчеком в 2016 году. Эта реставрация — ценный фрагмент археологии Unix. Вот краткое описание того, что сделал Роберт Свирчек и почему это важно.
Свирчек реализовал компилятор, способный генерировать байт-код, используемый сохранившимся интерпретатором Би, и разработал путь загрузки, чтобы компилятор можно было собрать и фактически самостоятельно скомпилировать на восстановленном образе PDP-7 Unix. Проект pdp7-unix включил его работу, поэтому компилятор Би и примеры программ на Би присутствуют в образе файловой системы.
Репозиторий pdp7-unix и заметки о сборке включают b.c Свирчека и пример использования (например, gcc -Wno-multichar b.c -o b ./b hello.b hello.s.S в дереве проекта).
Там же находится файл b.b - исходный текст компилятора Би на языке Би. Его можно оттранслировать компилятором би (написанным на Си), и он будет работать точно так же.
Файлы b.c и b.b (с указанием авторских прав, ссылающихся на Роберта Свирчека, 2016) можно напрямую просмотреть в дереве проекта.
Краткое пояснительное описание процесса реконструкции, в котором подробно описывается процесс начальной загрузки и кто что делал (упоминается роль Свирчека), доступно в отчёте о восстановлении.
Что произошло
В 2016 году Роберт Свирчек реконструировал работающий компилятор Би для оригинальной PDP-7 Unix (самой ранней версии Unix, авторства Кена Томпсона). Исходный код оригинального компилятора Би был утерян; сохранился только интерпретатор байт-кода Би.Свирчек реализовал компилятор, способный генерировать байт-код, используемый сохранившимся интерпретатором Би, и разработал путь загрузки, чтобы компилятор можно было собрать и фактически самостоятельно скомпилировать на восстановленном образе PDP-7 Unix. Проект pdp7-unix включил его работу, поэтому компилятор Би и примеры программ на Би присутствуют в образе файловой системы.
Как он это сделал
Поскольку оригинальный набор инструментов PDP-7 отсутствовал, Свирчек применил хитроумный подход обратной разработки: он взял сохранившиеся артефакты (интерпретатор Би и самые ранние исходные коды компилятора Си), удалил или обошёл механизм типов Си там, где это было необходимо, и создал реализацию компилятора, которая одновременно является корректной для Си и корректной для Би (чтобы её можно было скомпилировать современным хостовым компилятором Си для получения промежуточной формы). Эта промежуточная форма затем может быть запущена под интерпретатором Би на PDP-7 Unix, что позволяет компилятору Би перекомпилировать себя на PDP-7. Это описано в описании восстановления.Репозиторий pdp7-unix и заметки о сборке включают b.c Свирчека и пример использования (например, gcc -Wno-multichar b.c -o b ./b hello.b hello.s.S в дереве проекта).
Там же находится файл b.b - исходный текст компилятора Би на языке Би. Его можно оттранслировать компилятором би (написанным на Си), и он будет работать точно так же.
Почему это важно
Би — непосредственный предок Си; восстановление работающего компилятора Би позволяет историкам и инженерам запускать и изучать оригинальные программы на Би, а также понимать ранний набор инструментов и модель разработки Unix. Восстановление делает среду Unix PDP-7 значительно более полной и работоспособной на эмуляторах (и на музейном оборудовании).Где поэкспериментировать с компилятором Би для PDP-7
Проект pdp7-unix (основная реставрация) — включает собранные инструменты, образы файловой системы и исходные коды компилятора Би Свирчека.Файлы b.c и b.b (с указанием авторских прав, ссылающихся на Роберта Свирчека, 2016) можно напрямую просмотреть в дереве проекта.
Краткое пояснительное описание процесса реконструкции, в котором подробно описывается процесс начальной загрузки и кто что делал (упоминается роль Свирчека), доступно в отчёте о восстановлении.
Ссылки:
- Статья 'Unix: Building A Development Environment From Scratch' авторства Warren Toomey
- О проекте PDP-7 Unix
- b.c - Исходные текста компилятора Би на языке Си
- b.b - Исходные текста компилятора Би на языке Би
- Технические подробности реализации Би для PDP-7 и PDP-11
- Сохранившиеся артефакты на языке Би из первого Юникса

no subject
Date: 2025-10-20 19:49 (UTC)скоро там и археологи заведутся, и антропологи :)
а если серьезно, то молодцы, конечно
no subject
Date: 2025-10-20 22:39 (UTC)https://www.computerarcheology.com
https://www.amazon.com/Computer-Archaeology-Shire-archaeology-Wilcock/dp/0852638779/
Антропологи тоже подключились.
https://wiki.p2pfoundation.net/Gabriella_Coleman_on_the_Anthropology_of_Free_and_Open_Source_Software