Как люди писали
Feb. 3rd, 2023 08:27 amЯ пытаюсь довести систему Паскаль-Автокод до состояния, которое позволяло бы по ее образцу писать произвольные компиляторы в автокод ИТМ. В процессе разборки с запускалкой компилятора, которая также упрощала печать инструкции, я декомпилировал и программу печати в две колонки (БИЛИСТ) - это заняло всего несколько часов, потому программа с очень похожей функциональностью уже была готова (система ТИРАЖ).
Оказалось достаточно лишь выдрать процедуру, делающую собственно печать в две колонки и разобраться с режимами компиляции и разбиением на строки; правки кода как таковые были минимальные. Разница заключалась в том, что БИЛИСТ была скомпилирована с неполной оптимизацией: проверки на выход индексов за границы массивов оставались, и в вызовах сообщений об ошибках были номера строк. Это позволило примерно подогнать программу к исходному виду, отчего она получилась весьма кирпичеобразной почти везде, кроме самого конца, где уже нет обращений к массивам.
https://github.com/besm6/pasauto-re/blob/main/bilist.pas
Оказалось достаточно лишь выдрать процедуру, делающую собственно печать в две колонки и разобраться с режимами компиляции и разбиением на строки; правки кода как таковые были минимальные. Разница заключалась в том, что БИЛИСТ была скомпилирована с неполной оптимизацией: проверки на выход индексов за границы массивов оставались, и в вызовах сообщений об ошибках были номера строк. Это позволило примерно подогнать программу к исходному виду, отчего она получилась весьма кирпичеобразной почти везде, кроме самого конца, где уже нет обращений к массивам.
https://github.com/besm6/pasauto-re/blob/main/bilist.pas