Артур Ефимов писал(а):
Известно ли, как связаться с автором проекта Оберс? Я тут накидал вопросы, хотел спросить у автора, но может быть, что-то известно по данным вопросам?
1) Компилятор Оберс написан под макроассемблер NASM. А почему не напрямую использовать машинный код? Это для того, чтобы можно было легче переносить код на другие платформы или по какой-то другой причине?
2) Какие части данного компилятора получились лучше всего а какие - неудачные?
3) На чём был изначально написано компилятор? Умеет ли он компилировать сам себя?
4) Какая литература или, возможно, исходные коды использовались при написании компилятора?
Я не автор Оберс, но попробую ответить на некоторые вопросы.
Переводил
этот текст с украинского языка я сам. Там есть посыл автору, но он не откликнулся. Из непроверенных источников стало известно, что автор забил на компилятор и язык Оберон. Сайт
http://www.obers.net.ua, с которого были взяты все материалы, давно уже не открывается.
1) Очевидно, автору было так проще, чем вычислять релоки в машкоде и разбираться в форматах исполняемых файлов.
3) Думаю, что компилятор написан на ассемблере. Почему я так решил? Во-первых, я посмотрел машинный код, он устроен достаточно плотно, похож на закодированный вручную. Сам исполняемый файл obers.com не сжат, о чём свидетельствует наличие в нём текстовых строк и то, что он сжимается zip-ом с 23 до 17 кб. Во-вторых, утилита createrm.com тоже написана на ассемблере (занимает 1,5 кб), и в этом угадывается почерк автора.
Вариант, что он написан на Обероне и оттранслирован потом собой же, отметаем — Оберс генерирует только 32-битный код для защищённого режима. Транслятор же представляет собой 16-битный .com-файл. Я не знаю ни одного компилятора Оберона, который смог бы породить такой файл.
Непонятно конечно зачем писать транслятор на ассемблере, ведь ясность кода и лёгкость дальнейшей доработки очень важны. Но у людей полно странных идей, а часто — и энтузиазма их реализовывать. За всю свою жизнь я в этом много раз убеждался...
То, что транслятор написан на асме, конечно снижает его ценность для нас. Даже если бы он был и открытым.
4) На страничке есть
ссылки, очевидно, они имеют отношение к разработке транслятора. Не все живые, увы.