Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 18 окт 2018, 21:02

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: OMinc-версия Ofront (Component Pascal to C Translator)
СообщениеДобавлено: 28 апр 2016, 17:24 
Не в сети
Аватара пользователя

Сообщения: 904
Откуда: Днепропетровская обл.
Получено разрешение на публикацию модифицированной Oberon microsystems версии транслятора Ofront, адаптированной для трансляции Компонентного Паскаля в Си. Под лицензией, разрешающей коммерческое использование транслятора и его дальнейшую доработку.

Как и Ofront для Windows, транслятор выполнен в виде подсистемы для BlackBox Component Builder.

Marc Frei писал(а):
Dear Oleg,

thanks for your nice message.

Please find attached our version of Ofront “as is”.

You may distribute derived versions of this package under the terms of the simplified BlackBox Open Source License (http://choosealicense.com/licenses/bsd/) also attached to this message.

Thanks again and kind regards,
Marc


Вложения:
BB-License.odc [2.27 КБ]
Скачиваний: 185
BB-License.rtf [1.58 КБ]
Скачиваний: 215
Ofront.zip [438.17 КБ]
Скачиваний: 227
Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 11 авг 2016, 21:35 
Не в сети
Аватара пользователя

Сообщения: 904
Откуда: Днепропетровская обл.
Чтобы не путать транслятор КП в Си с транслятором Оберона-2 в Си, буду называть его CPfront.

Поскольку внутреннее устройство CPfront очень близко к Ofront, есть желание продолжить его разработку. Я с интересом изучаю этот проект, нашёл и зафиксил багу в реализации ASH. И поскольку транслятор дан нам как есть, то принимаются баг-репорты и пожелания. Разработка будет вестись здесь:

https://github.com/Oleg-N-Cher/CPfront


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 25 окт 2016, 04:28 
Не в сети
Администратор
Аватара пользователя

Сообщения: 79
Олег, а возможно ли адаптировать Ofront под BlackBox 1.7 ?
Вопрос по поддержке юникодных идентификаторов возникает... Наверное их придется как-то транслитерацией представлять, но тогда возможны коллизии с уже существующими идентификаторами. Или пуникод использовать тогда.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 25 окт 2016, 09:58 
Не в сети
Аватара пользователя

Сообщения: 904
Откуда: Днепропетровская обл.
Иван, конечно! Всё можно сделать. Вас больше интересует наверное CPfront, а не оригинальный Ofront Темпла или наш Ofront+?

Как я себе это представляю. Темпл придерживается того мнения, что генерируемый сишный код должен быть легко читаем. Было бы хорошо, если бы юникодные идентификаторы транслитерировались латинскими буквами, а возможные при этом коллизии разрешались путём добавления к иденту доп. цифр. Примерно так реализовано в Ofront'е отображение на Си цикла FOR:

Код: "C"
	INTEGER i, _for__54;
_for__54 = (*f).Count;
i = 1;
while (i <= _for__54) { ...

Или как-то иначе? Как это ещё может выглядеть?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 фев 2018, 11:02 
Не в сети
Администратор
Аватара пользователя

Сообщения: 79
Так как планирую испытывать CPfront, то вчера Олег меня добавил в разработчики и я "причесал" хранилище.
https://github.com/Oleg-N-Cher/CPfront
Первая проверка создания простейшей библиотеки для Linux прошла успешно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 фев 2018, 11:45 
Не в сети

Сообщения: 103
Разрешите поинтересоваться, Иван, с какой целью Вы испытываете трансляторы? Просто из любопытства или что-то планируете? Что в таком случае Вам нужно от транслятора?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 фев 2018, 16:41 
Не в сети
Администратор
Аватара пользователя

Сообщения: 79
Несколько задач.
1. Ускорение критических мест расчетных приложений
2. Запасная перспектива для выхода на 64-битную платформу

Вот для первой задачи CPfront лучше всего подходит. Так как я могу работать в инфраструктуре ББ во время разработки, а потом только переключаться без изменения кода на библиотеки, полученные с помощью транслятора.

На этом снимке экрана пример, что алгоритм сортировки пузырьком в 1.5 раза быстрее работает с оптимизацией -O3.

Вложение:
cpfront_test.png
cpfront_test.png [ 440.88 КБ | Просмотров: 3271 ]


Настроил уменьшалку изображений.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 25 фев 2018, 06:19 
Не в сети
Администратор
Аватара пользователя

Сообщения: 79
Проверил, с компилятором Intel такую задачку ещё быстрее считает.

Оформил подсистему в хранилище:
https://blackbox.obertone.ru/component/CPfront

В планах теперь проверить как это добро работает со структурами типа список.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 18 май 2018, 12:16 
Не в сети

Сообщения: 22
ivan_denisov писал(а):
Оформил подсистему в хранилище:
https://blackbox.obertone.ru/component/CPfront

А он вообще работает? А то Log не находит, сишный файл не генерит. Кто смотрел, там какие-нибудь опции запуска хитрые или как?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 18 май 2018, 21:12 
Не в сети
Аватара пользователя

Сообщения: 904
Откуда: Днепропетровская обл.
Опции задаются в CPfront/Rsrc/Strings.odc

Он вполне рабочий. Мы c Иваном транслировали им простые модули и компилировали полученный Си-код с помощью GCC, MinGW и Intel C.

Пересобрать сам BlackBox транслятором в его текущем виде точно не удастся. Но если есть коммерческий интерес, допилим до любой нужной кондиции. Обращайтесь. ;-)

Группа поддержки CPfront в Telegram:


P.S. А что значит не находит Log?


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

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


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Тех.поддержка phpBB