OberonCore https://forum.oberoncore.ru/ |
|
Проект MultiOberon https://forum.oberoncore.ru/viewtopic.php?f=157&t=6423 |
Страница 1 из 4 |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 09:03 ] |
Заголовок сообщения: | Проект MultiOberon |
МультиОберон это компилятор языка Оберон с различными сменными бэкендами: - Генератором нативного кода x86 для системы BlackBox; - Транслятором Ofront в язык C; - Генератором кода LLVM. МультиОберон это кроссплатформенный компилятор с поддержкой: - Windows X86; - Windows X64. МультиОберон это масштабируемая технология на основе систем ограничений с начальной точкой в виде синтаксиса Компонентного Паскаля. МультиОберон предназначен для работы из среды BlackBox и из командной строки. Ссылка на гитхабе здесь |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 09:43 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Как работать с Omb - бэкендом BlackBox ссылка на форуме Как работать с Omf - бэкендом OFront ссылка на форуме Как работать с Oml - бэкендом LLVM ссылка на форуме |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 10:34 ] |
Заголовок сообщения: | Multi бэкенды |
Структура компилятора - пре/постпроцессорная, на основе OP2. Это значит более сложная структура, чем компилятор Oberon-0, Вирт писал(а): которая больше подходит для включения в его состав алгоритмов оптимизации. И еще цитата Вирт писал(а): существенное преимущество такой структуры: разделение компилятора на целенезависимый препроцессор и целезависимый постпроцессор В МультиОбероне более четко определены интерфейсы с бэкендами и реализованы сменные бэкенды. Естественно, состав сменных бэкендов может наращиваться. Сменные бкенды существенно диверсифицируют среду разработки: - нативный BlackBox дает лучшую компактность и скорость компиляции; - LLVM дает возможность оптимизации кода и кроссплатформенность; - OFront дает возможность ставить на такие системы, для которых, кроме С-компилятора ничего не создавалось. Все это вместе дает повышенную живучесть. Как я уже писал, прилетит Черный Лебедь в виде проекта только 64-бит - и что тогда... |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 12:23 ] |
Заголовок сообщения: | Multi платформы |
Кодогенераторы для данной 5.0 версии LLVM заявляют поддержку следующих целевых платформ (см. файлы LLVM/Mod/For*.odc): - AArch64; - AMDGPU; - ARM; - BPF; - Hexagon; - Lanai; - MSP430; - Mips; - NVPTX; - PowerPC; - Sparc; - SystemZ; - X86; - XCore. Появляется возможность работать с этими платформами. Я пока пробовал только с X86/X86_64. В данной версии представлены пакеты для работы с OS Windows. Работы для Linux в области моих интересов. И, наконец, исполняющая система реализована и для 32-bit, и для 64-бит. Например, System/Mfwe/Kernel.odc реализован для 32-бит OFront. А System/Mfwr/Kernel.odc реализован для 64-бит OFront. |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 12:41 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Для размещения каталогов файлов, относящихся к разным платформам приняты трехбуквенные обозначения [backend].[os].[mode]: - где backend: b - BlackBox, f - oFront, l - Llvm; - где os: w - Windows, u - Unix; - где mode: e - extended 32-bit, r - real 64-bit. Таким образом, с исходником платформо-зависимого файла Kernel работаем из: - Mfwe для 32-битного OFront под Windows; - Mfwr для 64-битного OFront под Windows; - Mlwe для 32-битного LLVM под Windows; - Mlwr для 64-битного LLVM под Windows; - Mod для версии по умолчанию, если не найдена платформо-зависимая. Аналогичным образом формируются каталоги для кодовых файлов: Cbwe, Cfwe, Cfwr, Clwe, Clwr. Аналогичным образом формируются каталоги для символьных файлов: Sbwe, Sfwe, Sfwr, Slwe, Slwr. Бинарники приложений расположены в: - Bbwe для OmbSh.exe приложения 32-битной оболочки Omb для BlackBox; - Bfwe для OmfSh.exe приложения 32-битной оболочки Omf для OFront; - Bfwr для OmfSh.exe приложения 64-битной оболочки Omf для OFront; - Blwe для OmlSh.exe приложения 32-битной оболочки Oml для LLVM; - Blwe для OmlSh.exe приложения 64-битной оболочки Oml для LLVM. |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 12:55 ] |
Заголовок сообщения: | Multi языковость |
Я обрисовывал свое видение масштабируемой технологии на основе системы ограничений USE на дне Оберона 2018 и уже в виде RESTRICT на OSDAY 2019 Пока еще RESTRICT в стадии реализации. В любом случае в качестве нулевой начальной точки принимается синтаксис Oberon/ComponetPascal. |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 13:00 ] |
Заголовок сообщения: | Multi форматность |
И, наконец, работа нужна как из графической среды, так и из командной строки. Так или иначе приходится использовать скрипты для разных целей. Это может быть и Оберон shell. |
Автор: | Иван Денисов [ Суббота, 17 Август, 2019 13:01 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Вот это новость! Спасибо, что выложили. |
Автор: | maliya [ Суббота, 17 Август, 2019 13:13 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
so wonderful project! first one llvm backend outcome, interesting! |
Автор: | Дмитрий Дагаев [ Суббота, 17 Август, 2019 13:40 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Проект MultiOberon на сайте OberonCore. |
Автор: | Илья Ермаков [ Суббота, 17 Август, 2019 15:52 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Дмитрий Викторович, поздравляю! Это большая веха для Оберона и сообщества! |
Автор: | Comdiv [ Суббота, 17 Август, 2019 19:03 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Выглядит интересно, особенно с учётом работы над GNU/Linux версией. Когда она выйдет, надеюсь её увидеть в общем репозитории для удобной установки. |
Автор: | SovietPony [ Воскресенье, 18 Август, 2019 13:06 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Шикарненько. Обязательно утяну LLVM-генератор к себе. Вижу что повсюду изменён стиль исходников... диффать немножко проблемно. В CPfront починена поддержка 64 бит, какие есть ещё изменения в генераторах 486 и CPfront? Как у LLVM с поддержкой мета-информации? |
Автор: | GameHunter [ Вторник, 10 Сентябрь, 2019 22:09 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Это компилятор оригинального виртовского оберона? Планируется поддержка комплексных чисел? Планируется поддержка многопоточности? |
Автор: | Дмитрий Дагаев [ Среда, 11 Сентябрь, 2019 09:44 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Это профилируемый компилятор с начальной точкой в виде компонентного Паскаля, который можно настроить под 07 или 13 с помощью системы ограничений. Профилированное расширение отработанными решениями входит в концепцию. Планов чего-то включать в ближайшее время нет. |
Автор: | Comdiv [ Среда, 11 Сентябрь, 2019 11:56 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Дмитрий Дагаев писал(а): Это профилируемый компилятор с начальной точкой в виде компонентного Паскаля, который можно настроить под 07 или 13 с помощью системы ограничений. И расширимость записей по умолчанию?
|
Автор: | Дмитрий Дагаев [ Среда, 11 Сентябрь, 2019 13:00 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Пользы от наличия EXTENSIBLE больше, чем от отсутствия. |
Автор: | Comdiv [ Среда, 11 Сентябрь, 2019 13:12 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
То есть, речь не про O7, а про подмножество, похожее на O7? |
Автор: | Дмитрий Дагаев [ Среда, 11 Сентябрь, 2019 13:50 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Да. Но профили для приведения к виду, семантически подобному О7, я не выставлял. |
Автор: | Wlad [ Четверг, 12 Сентябрь, 2019 17:15 ] |
Заголовок сообщения: | Re: Проект MultiOberon |
Спасибо. Поздравляю. Успехов! |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |