![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Забавляясь с дубненским Алголом-ГДР, набрели мы со
spamsink на ископаемый артефакт: исторически первую реализацию Алгола-60, файл x1algol.pas. Закралась крамольная мысль: не оживить ли его? Чтобы можно было ним компилировать и выполнять алгольные программы. Перенестись на 64 года назад, так сказать.
Этот Алгол был написан Эдсгером Дейкстрой и Яапом Зоннефельдом летом 1960 года для голландского компьютера Electrologica X1. За несколько месяцев крутые чуваки сбацали транслятор с Алгола-60 в машинные коды, а также рантайм библиотеку, так называемый комплекс. Работало это добро с перфолент на памяти размером 4 килослова. Уже в наше время Круземан Арец аутентичным образом переписал тот машинный код на Паскаль.
Потратив несколько дней на изучение исходников и генерируемого кода, мы с Лёней приходим к выводу, что можно соорудить для него симулятор. То есть всякую алгольную программу можно будет пропустить через транслятор и немедленно выполнить.
Ссылки:
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Этот Алгол был написан Эдсгером Дейкстрой и Яапом Зоннефельдом летом 1960 года для голландского компьютера Electrologica X1. За несколько месяцев крутые чуваки сбацали транслятор с Алгола-60 в машинные коды, а также рантайм библиотеку, так называемый комплекс. Работало это добро с перфолент на памяти размером 4 килослова. Уже в наше время Круземан Арец аутентичным образом переписал тот машинный код на Паскаль.
Потратив несколько дней на изучение исходников и генерируемого кода, мы с Лёней приходим к выводу, что можно соорудить для него симулятор. То есть всякую алгольную программу можно будет пропустить через транслятор и немедленно выполнить.
Ссылки:
- The Dijkstra–Zonneveld ALGOL 60 compiler for the Electrologica X1 (PDF)
- ALGOL-60 Translation by Dr. E. W. Dijkstra (PDF)
- Dijkstra's PhD Thesis (PDF)
- EL-X1 ALGOL 60 Compiler Notebook (PDF)
- EL-X1 ALGOL COMPLEX Notebooks 1, 2, 3 (PDF)
- The X-1 Computer (PDF)
- Tales of Electrologica: Computers, Software and People (книга)
no subject
Date: 2024-07-29 22:39 (UTC)Это у них там нормальный полный алгол? (но не с p0042, I presume).
А то был ещё меньше размером, жиер-алгол, 1 килобайт на всё.
no subject
Date: 2024-07-29 22:45 (UTC)no subject
Date: 2024-07-30 00:30 (UTC)И цифровых меток не было.
no subject
Date: 2024-07-30 00:33 (UTC)no subject
Date: 2024-07-30 02:39 (UTC)Всё это по сути перемещаемый код. Значения OPC = 1, 2, 3 задают тип перемещаемости. Но потом добавляет нужное смещение и "малое значение" OPC становится ненужным. На выход попадает только одно число:
- либо OPC в диапазоне 8...109
- либо слово w, то есть машинная инструкция
Что мы и видим.