Как люди писали
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
no subject
Date: 2023-02-03 04:56 pm (UTC)Где-то так код в Пульте и выглядел тогда, да. Только отступов не делали и буквы все были большие.
no subject
Date: 2023-02-03 05:15 pm (UTC)Интересно, что если не делать отступов и минимизировать пробелы, то все плотные строки, кроме одной (25), влезают в 80 символов.
no subject
Date: 2023-02-03 04:58 pm (UTC)ЙЬ := [9,27];
https://github.com/besm6/pasauto-re/blob/9d4b06de669e0a7ff59a2a4702f0fb828a6fec46/bilist.pas#L219
no subject
Date: 2023-02-03 05:15 pm (UTC)no subject
Date: 2023-02-03 07:39 pm (UTC)