Оберон-клуб «ВЄДАsoft»
https://zx.oberon2.ru/forum/

Вопросы по транслятору Оберс
https://zx.oberon2.ru/forum/viewtopic.php?f=69&t=271
Страница 1 из 1

Автор:  Zorko [ 28 апр 2016, 18:19 ]
Заголовок сообщения:  Вопросы по транслятору Оберс

Артур Ефимов писал(а):
Известно ли, как связаться с автором проекта Оберс? Я тут накидал вопросы, хотел спросить у автора, но может быть, что-то известно по данным вопросам?
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) На страничке есть ссылки, очевидно, они имеют отношение к разработке транслятора. Не все живые, увы.

Автор:  kekc_leader [ 04 май 2016, 19:31 ]
Заголовок сообщения:  Re: Вопросы по транслятору Оберс

Спасибо за ответы.

Вообще, ценность проекта Оберс состоит в том, что он показывает, какую гибкость инженерных решений дают программисту «Оберон-технологии» - виртовский подход к программированию, выражаемый принципом «как можно проще, но не проще того».
Не нашёл человек подходящего компилятора - написал свой. Такую возможность даёт ему принцип языка Оберон. Попробуйте то же самое провернуть в Джаве или Питоне!

То, что такой компилятор написан на ассемблере, а не на языке программирования высокого уровня, только подчёркивает гениальность языка.

Автор:  Zorko [ 05 май 2016, 13:45 ]
Заголовок сообщения:  Re: Вопросы по транслятору Оберс

kekc_leader писал(а):
То, что такой компилятор написан на ассемблере, а не на языке программирования высокого уровня, только подчёркивает гениальность языка.
Угу, или дуболомную непрошибаемость автора в выборе средства разработки. ;-) Перфекционизм, короче. Меня за излишний ругают. :-)

В целом же согласен. Простота Оберона — именно достоинство. А динамические типы данных или богатый набор операций для работы со строками можно вполне иметь и библиотечно, не встраивая в язык.

Автор:  geniepro [ 25 ноя 2016, 22:11 ]
Заголовок сообщения:  Re: Вопросы по транслятору Оберс

Zorko писал(а):
Непонятно конечно зачем писать транслятор на ассемблере, ведь ясность кода и лёгкость дальнейшей доработки очень важны. Но у людей полно странных идей, а часто — и энтузиазма их реализовывать. За всю свою жизнь я в этом много раз убеждался...

То, что транслятор написан на асме, конечно снижает его ценность для нас. Даже если бы он был и открытым.

Был когда-то компилятор Virtual Pascal, тоже написанный на ассемблере. Говорят, очень шустрым был. Но такая же проблема -- мало нашлось людей, готовых поддерживать этот компилятор на ассемблере, в результате заглох проект...

Автор:  Zorko [ 25 ноя 2016, 23:17 ]
Заголовок сообщения:  Re: Вопросы по транслятору Оберс

Я юзал OS/2 и Virtual Pascal, даже статью писал о нём. В журнал «Радио-Мир. Ваш компьютер».

Но смысл?

Не, я знаю, что извращенцев энтузиастов хватает, но, мгм, время же показывает, что процессоры меняются, коды устаревают, а ассемблер наглядности как-то не прибавляет.

Поэтому с опасением смотрю на проекты типа Kolibri OS. Вроде хорошая затея, но прибивка гвоздями к Intel x86? Пусть и 64 бита сделали.

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/