OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 09:17

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 13:00 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Раз никто не собирается делать компилятор на x64 и arm для android,
может , лучше добавить в oo2c синтаксис Компонентного Паскаля.

Чтобы потом можно было,
присоединив в Android NDK делать мобильные приложения,
для 64 битных линуксов делать веб приложения (аналог wsgi или лучше),
а также запустить на raspberry pi.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 13:48 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Транслятор Компонентного Паскаля в Си на базе Ofront от OMinc:


Я не сомневаюсь, что Оминки транслировали в Си с его помощью если не весь BlackBox, то большую его часть. Поддерживает практически полностью язык КП и возможности модуля SYSTEM (нет поддержки GETREG/PUTREG, но это логично), транслирует привязки (биндинги), понимает системные теги [union], [untagged], [align], совместимость на уровне исходников на КП с BlackBox очень хорошая.

Помимо этого проекта, есть ещё транслятор Оберона-2 в Си - Ofront+, поддерживающий некоторые возможности языка КП:


Я не имею возможности влиять на структуру этого форума, чтобы создали по этим проектам отдельный раздел. Могу только пригласить желающих обговорить детали Ofront+ и CPfront на форум zx.oberon2.ru. Также есть тематические англоязычная и русскоязычная рассылки.

Коммерческие перспективы использования данных проектов очень приветствую и буду всячески содействовать и участвовать, т.к. проекты эти для меня очень интересны. Илья Евгеньевич заинтересовался, мы по этой теме активно переписываемся в личке.

P.S. OO2C ковырять в данном направлении не вижу смысла. Впрочем, Вы сначала найдите программиста для исправления баги, найденной Артуром Ефимовым, а потом уже о более масштабных модификациях думайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 14:37 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Oleg N. Cher писал(а):
Я не сомневаюсь, что Оминки транслировали в Си с его помощью если не весь BlackBox, то большую его часть.

Зачем бы им это?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 15:29 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Цитата:
P.S.

Одновременно тоже можно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 17:04 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
Kubanych писал(а):
...
Возьмите уже в конце- концов А2 - там и 64 бита и ARM, сейчас уже можно собирать проекты на базе Win/Unix A2, в том числе и консольные, для Виндовс и Линукс. Можно создавать монолитные программы, собрав все в исполняемый файл, можно с динамической подгрузкой, впрочем в первом варианте подгрузка также доступна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 17:36 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Trurl писал(а):
Зачем бы им это?
А зачем бы Илье Ермакову тащить рантаймы BlackBox на другие архитектуры? :-) А зачем ему КП на них? Может хватило бы Оберона-2? Сам удивляюсь. ;-)

Сергей Оборотов писал(а):
Одновременно тоже можно.
Можно. Просто некому. OO2C я в своё время "ниасилил" собрать для Windows, зато на Ofront'е научился делать программы для 8-битного Z80 с такой же лёгкостью, как и для 32/64 bit Windows & Linux.

Кто-то здесь осилил сборку OO2C. Но баги править всё ещё некому. Я ни-ни. ;-) Сложно. В Ofront'е хотя бы пол-Ofront'а взято из ETH Oberon (если не больше), а OO2C изнутри никто толком не знает. Но я был бы рад увидеть продолжение этого проекта, он тоже интересный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 22:21 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Oleg N. Cher писал(а):
В Ofront'е хотя бы пол-Ofront'а взято из ETH Oberon (если не больше)

Да, там обычный OP2 с замененным кодогенератором. Но в блэкбоксе тот же OP2, только с измененным парсером.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 22 Октябрь, 2016 23:00 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Я знаю это, Trurl. Все знают, кто ковырял. Я ковырял. ;-) OberonX тоже на OP2 (поверх ETH Oberon). И первый компилятор AO на базе OP2 сделан. Это Fox уже внутри другой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Вторник, 20 Декабрь, 2016 13:10 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
http://www.excelsior.ru/products/xds

а данный "компилятор" продуцирует C/C++ код который по идее можно скомпилировать в android через NDK
на этом продукте собственно был написан компилятор java в нативный код

кто пробовал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Вторник, 20 Декабрь, 2016 19:04 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Я пробовал. Не понравилось, что он выдаёт на выходе. Плюс закрытость и заброшенность. Для трансляции Оберона в Си предпочитаю Ofront+. Ну можно ещё voc попробовать.

Оба эти транслятора сделаны на базе Ofront Йозефа Темпла, который активно мэйнтейнится, в отличие от OO2C (OOC) и XDS-C.

Я делал попытку разрабатывать для Android SDK на GPCP (Gardens Point Component Pascal), но не слишком удачно - упёрся в ошибки в утилите для трансляции классов в символьные файлы.

Будут успешные результаты разработки софта на Обероне для Android - отпишитесь, пожалуйста. Очень интересно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Среда, 21 Декабрь, 2016 09:01 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
А что именно не понравилось? Не оптимизиррованный или не рабочий код выдает?
Вроде как на данном инструменте написан компилятор для java.
Еще недавно они IDE для eclipse для него запилили на замену старой IDE - для заброшенного продукта это было бы странно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Среда, 21 Декабрь, 2016 18:25 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Код, сгенерированный XDS-C, выглядит более запутанным и менее эффективным. Он описывает много статических структур. Я занимался на основе Ofront+ генерацией кода для восьмибитного процессора Z80, а там крайне важно получить компактность и обозримость. Впрочем, взгляните сами, архив прикладываю.

XDS-C поддерживается ровно в том объёме, который устраивает разработчика. Перспективы его туманны, как у закрытого протопиетарного продукта. Ofront+ мы разрабатываем своими силами.

А что использовать именно Вам - личный выбор конечно.


Вложения:
Ofront_XDS.zip [10.96 КБ]
Скачиваний: 323
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Пятница, 23 Декабрь, 2016 09:18 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
Oleg N. Cher писал(а):
Код, сгенерированный XDS-C, выглядит более запутанным и менее эффективным. Он описывает много статических структур. Я занимался на основе Ofront+ генерацией кода для восьмибитного процессора Z80, а там крайне важно получить компактность и обозримость. Впрочем, взгляните сами, архив прикладываю.

XDS-C поддерживается ровно в том объёме, который устраивает разработчика. Перспективы его туманны, как у закрытого протопиетарного продукта. Ofront+ мы разрабатываем своими силами.

А что использовать именно Вам - личный выбор конечно.


а Ofront+ написан на oberon? реально использовать этот проект для трансляции в Go ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Суббота, 24 Декабрь, 2016 01:49 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Ofront, Ofront+ и voc написаны на Обероне, притом на первом, без связанных с типом процедур. На базе компилятора OP2, на котором основаны также ETH Oberon и BlackBox, только кодогенератор (бэк-энд) заточен на генерацию Си-кода. Адаптировать для генерации в другой выходной язык наверное будет несложно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Среда, 28 Декабрь, 2016 09:27 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
Еще вопрос - насколько безопасный код генерит Ofront+ по сравнению с XDS?
есть ли в Ofront+ проверки на ошибки типа выхода индекса за пределы массива и тп.?

Т.е. мне хочется более получать безопасный код по сравнению с написанием на С- предоставит ли мне данный транслятор эту возможность?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Среда, 28 Декабрь, 2016 18:46 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
perloid писал(а):
есть ли в Ofront+ проверки на ошибки типа выхода индекса за пределы массива и тп.?
В семействе Ofront (Ofront, Ofront+, voc) такая проверка есть. Для эффективности она опциональная (по умолчанию включена).

Также есть проверка границ значений вычисляемых выражений, т.е. в коде вида:
Код:
VAR s: SHORTINT; i: INTEGER;
BEGIN
  ...
  s := SHORT(i);
...
выражение может быть проверено, не выходит ли его значение за пределы типа SHORTINT. Эта проверка по умолчанию выключена.

Разумеется, реализована и охрана типа (check type guards).

perloid писал(а):
Т.е. мне хочется более получать безопасный код по сравнению с написанием на С- предоставит ли мне данный транслятор эту возможность?
Оберон-языки по своей структуре позволяют писать более безопасный код, предоставляя возможности для локализации опасных мест внутри системно-ориентированных модулей, в то время как Си не препятствует передавать ссылки на что угодно внутрь самых обычных рядовых функций. В Обероне строки имеют поле "длина". Так что тут вопрос даже, скорее, не к транслятору, а к языку.

Если Вас интересует, насколько надёжен генерируемый с помощью Ofront+ код, то он вполне приемлем. Хотя известные проблемы есть, не буду лукавить. Например, со сборщиком мусора. Он очень топорно адаптирован для 64 бит. Но это проблема реализации, надо поправить.

perloid писал(а):
по сравнению с XDS
Ага. Вот она, соль жизни ;-) Опасность XDS-C в том, что если упрётесь в его недостаток или баг носом, то это всё. Не лечится. А проблему в Ofront+ можно будет исправить. Если не я, так Вы сами, своими силами. Всё опенсоурс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Среда, 28 Декабрь, 2016 20:39 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
застрял пока на этапе трансляции

скачал распаковал в папку

/home/user/bin/OfrontPlus

сижу под убунту x86_64

Код:
создал build.sh
cmod +x build.sh


в файле build.sh (полагаю что надо прописать так?)
который положил в директорию с примером /home/user/bin/OfrontPlus/Work
Код:
export PATH="$HOME/bin/OfrontPlus/Linux/Bin64:$PATH"
export OBERON=".:$HOME/bin/OfrontPlus/Linux/Lib/Sym64;$HOME/bin/OfrontPlus/Linux/Sym64"
#export OBERON=".:../Linux/Lib/Sym;../Linux/Sym"

ofront+ Hello.Mod



но вылазит ошибка
Код:
Hello.Mod  translating Hello
    line 1  pos 28  err 152  symbol file of imported module not found



что не так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Четверг, 29 Декабрь, 2016 00:50 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 518
Откуда: Украина, Днепропетровская обл.
Не находит символьного файла импортированной библиотеки (очевидно, Console.sym). Убедитесь, что путь к Lib/Sym64 указан правильно.

Ага, я вижу, что у вас там задан разделитель ";", а для линукса надо ":"

Также нужен ключик -m, указывающий, что этот модуль - главный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Четверг, 29 Декабрь, 2016 09:53 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
спасибо.
действительно я чтото затупил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: добавить в oo2c синтаксис КП
СообщениеДобавлено: Понедельник, 08 Октябрь, 2018 12:58 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 220
Откуда: Питер
Здравствуйте.

Каково на данный момент состояние Ofront+?
Включает ли он в себя все особенности Oberon-2?
Насколько хорошо адаптирован для целевой платформы Win-64 бит?
Есть ли встроенная поддержка комплексных чисел?

С уважением, GH.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB