Экспериментирую не только с лоукейсом, но и с убиранием ";" в Обероне-3:
![]()
Экспериментирую не только с лоукейсом, но и с убиранием ";" в Обероне-3:
![]()
Теперь Оберон-3 может выглядеть вот так:
Теперь ";" необязательный разделитель и может отсутствовать. Нижний регистр ключевых слов опциональный.
офтоп: существует ли компилятор с языка Оберона реализованного на языке С для виндовс (хост) для тагет http://www.projectoberon.com/ ???
Что значит "для тагет www.projectoberon.com" ???
В www.projectoberon.com свой собственный компилятор Оберона.
Си оберонщики недолюбливают, поэтому компиляторы Оберона на Си в основном не пишут.
мне надо(хочется) скомпилить BootLoad.Mod написанный на обероне в машинные коды проца RISC5 что на плисе. при отсутствии "родного" компилятора из этого проекта. другими словами есть только исходник - а нужен кросс-компилятор под винды(хост) для проца RISC5(тагет).
мне монопенисуально кто кого не до любливает.
Виртовский RISC5 это не та же архитектура, что RISC-V. Вы точно не путаете?
Ещё разрешите усомниться в целостности и самоценности модуля BootLoad.Mod, скорее всего, это откуда-то выдернутый низкоуровневый модуль, который использует зависимости Оберон-системы и/или нестандартные языковые расширения Оберона. Кстати, он на каком Обероне написал? Oberon-07 ?
Такого кросс-компилятора ни для RISC5, ни для RISC-V нет, тем более, под Windows. Максимум, что я могу предложить - это мой транслятор Ofront+, он умеет транслировать пять диалектов Оберона в Си, дальше можно собрать сишкой.
- - - Добавлено - - -
Да, если нужен всё-таки RISC5, зайдите на https://t.me/ofrontplus - мож кто-то что-то подсоветует. Вроде собирали в системе, запущенной в браузере. Но точно без Си и без Windows.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
ну я как бы не настолько пьян чтоб путать 5 с V. Сей модуль есть содержимое "загрузочной ПЗУшки", она вычитывает содержимое из SD в RAM, далее исполняется код из RAM. Какой диалект - хз. Их как собак не резаных. У меня есть двоичный код сего модуля и есть исходник. Нужен компилер с ЯП в машкод (есть возможность проконтролировать соответствие исходника, его коду и правильность компилятора). далее собрать систему на современном "железе/плис" отладке плате. В чём "прикол" - в том что есть всё от теории до реализации, от "операционки" до реального железа , что можно пощупать, по адаптировать и тд. короче как и задумывалось профессором - "учебный комплект"
пс: телеги нет и пока не предвидится...
- - - Добавлено - - -
чегото с набегу я не заметил где есть ехе-ник "транслятор Ofront+". или там так же надо "раскорячиваться" и компилировать транслятор ?
Понятно. Но смотрите: Project Oberon даёт на выходе скомпилированные модули своего формата, наверняка при динамической загрузке они настраиваются перед исполнением на необходимые адреса. Так что придётся разбираться с этим.
Насколько большой модуль BootLoad.Mod и откуда он взят? (его собирать имеет смысл в той среде, откуда он родом)
Project Oberon последней ревизии - на Oberon-07/16, который ещё называют Revised Oberon.
Мне неизвестны способы компилировать Си в машкод RISC5. Так что предположу, что Вы имеете в виду всё-таки RISC-V.
exe'шка Ofront'а+ имеется. Лежит в Target/Win32/ofront+.exe
1) да, своего формата (ещё не смотрел)
2) BootLoad.Mod упоминается в инструкции по "сборке" с нуля процессора на плисе, но исходники на оном сайте не представлены, зато есть на сайте https://people.inf.ethz.ch/wirth/Pro...ron/index.html
Его двоичный код не больше 512 слов(по 32бита). собирается собственно "своим" компилятором (исходники я надеюсь на сайте полностью выложены) и на этой же аппаратной платформе (кажется так).
3) у меня нет рабочих компиляторов с Оберона и С на проц RISC5.
4) как и нет самой реализации RISC5 на плисе. То что выложено на сайте возможно работает и работает на трёх различных платах. Они очень древние, и они отсутствуют у меня. Там применяются плисы Спартан-3 и среда разработки "Xilinx ISE". У меня есть платы только свежие (аля Спартан-7) и свежая Xilinx Vivado.
5) оригинал проца написан на Verilog-е, Это конечно хорошо, но я пишу на systemverilog-e, а Verilog (условно вчерашний день).
6) докучи он (проц ) написан в "академическом стиле", другими словами в исходном коде отсутствуют "нужные" куски кода (которые повышают надёжность работы проца и позволяют выполнять моделирование в симуляторе поведение процессора - то как он работает в плисе).
7) RISC-V это условно современный проц класса risc (не cisc), аля арм, мипс.
RISC5 - это risc реализация проца Вирта со своей уникальной системой команд.
Надеюсь ваши сомнения развеяны ?
8) Чего хочу в конечном:
- поднять свой уровень магических умений в языках "программирования" ПЛИС
- научиться писать тестбенчи на SV
- "поднять" оберон систему на современной плате (относительно, в данном случае ZedBoard)
- добавить цвета на дисплей, реализовать многопоточность (ну я так это называю), AXI шину - дабы можно было использовать инфраструктуру xilinx по доступным ip-ядрам (возможно и wishbone и тамошние ядра), симметричную многопроцессорную систему и др хотелки.
- возможно видоизменить язык (да здравствует очередной диалект).
- если я осилю первые две хотелку - то уже замечательно.
пс: конечно я могу найти (на "складе") древние отладочные платы, но ISE уже не работает цивильно на win10, и systemverilog поддерживается только Vivado.
Несколько лучше понял Вашу задумку. Тогда конечно уровень Си здесь не пригодится. Проц полностью Виртовский, компилятор с него только один, его и надо использовать. Я могу конечно оттранслировать BootLoad.Mod в Си при помощи Ofront'а+, но что это нам даст?
Исходники там точно есть, но вряд ли так просто удастся запустить его для Windows/UNIX, там же заточка чисто под Оберон-систему.
Кстати, обратите внимание, что в BootLoad.Mod идёт две версии модуля:
MODULE* BootLoad; (*NW 20.10.2013 / PR 4.2.2014; boot from SDHC disk or line*)
и:
MODULE* BootLoad; (*NW 10.2.2013, boot from line only*)
Какую именно нужно собирать?
P.S. Звёздочка после MODULE это уже нестандартное расширение. Теряюсь в догадках, что это значит. Могу только предполагать.
Ну, проц Виртовский, Си для него никто не делал. Си для него нету. А Оберон есть, притом я почти уверен, что Project Oberon можно запустить в браузере. Там и поюзать компилятор.
Уверен, нет смысла держаться старых плат, нужно поддерживать новые.
То же самое про Verilog.
Правильно. Вирт был сильно завязан на образовании и буквально помешан на простоте и обозримости. Я согласен, что если это кто-то будет использовать, то надёжность важнее.
Теперь конечно. Кстати, у меня есть свой интерес - запустить Оберон-систему на ZX Uno. Было бы очень круто. Но не знаю, насколько Вам это будет интересно. И я почти полный профан в ПЛИС и железе.
Итак, я скопировал Ваше сообщение в оберонские группы, если кто-то подтянется, будет хорошо. Также советую зарегиться на форуме OberonCore, вот там точно тусуются профи. Они помогут.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)