spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Я пытаюсь довести систему Паскаль-Автокод до состояния, которое позволяло бы по ее образцу писать произвольные компиляторы в автокод ИТМ. В процессе разборки с запускалкой компилятора, которая также упрощала печать инструкции, я декомпилировал и программу печати в две колонки (БИЛИСТ) - это заняло всего несколько часов, потому программа с очень похожей функциональностью уже была готова (система ТИРАЖ).

Оказалось достаточно лишь выдрать процедуру, делающую собственно печать в две колонки и разобраться с режимами компиляции и разбиением на строки; правки кода как таковые были минимальные. Разница заключалась в том, что БИЛИСТ была скомпилирована с неполной оптимизацией: проверки на выход индексов за границы массивов оставались, и в вызовах сообщений об ошибках были номера строк. Это позволило примерно подогнать программу к исходному виду, отчего она получилась весьма кирпичеобразной почти везде, кроме самого конца, где уже нет обращений к массивам.

https://github.com/besm6/pasauto-re/blob/main/bilist.pas

Date: 2023-02-03 04:56 pm (UTC)
vak: (Default)
From: [personal profile] vak
Радует глаз однако!
Где-то так код в Пульте и выглядел тогда, да. Только отступов не делали и буквы все были большие.

Date: 2023-02-03 07:39 pm (UTC)
vak: (Default)
From: [personal profile] vak
Я ещё ы люблю выбирать в качестве переменной цикла.

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 12:22 pm
Powered by Dreamwidth Studios