OberonCore
https://forum.oberoncore.ru/

GPCP for LLVM
https://forum.oberoncore.ru/viewtopic.php?f=117&t=4174
Страница 1 из 1

Автор:  Oleg N. Cher [ Четверг, 29 Ноябрь, 2012 13:52 ]
Заголовок сообщения:  GPCP for LLVM

В рассылке по GPCP авторы обещают поработать над адаптацией компилятора GPCP для тоже университетской разработки — универсальной системы анализа, трансформации и оптимизации программ LLVM:
http://ru.wikipedia.org/wiki/LLVM
http://habrahabr.ru/post/47878/
K John Gough писал(а):
I am currently exploring the possibility of a major revision that includes
an LLVM-based native-code backend as well as the current .NET and JVM
backends. If this goes ahead then I will definitely do full Unicode as part
of the revision.
На практике это означает, что мы можем в скором будущем получить высокоэффективный компилятор в натив, позволяющий использовать возможности современных микропроцессоров, к тому же кроссплатформенный — x86-32, x86-64, ARM и ещё много вкусностей, и это будет не Оберон-2, а Компонентный Паскаль! Так что это интересное направление в развитии GPCP. Прошу всех желающих поспособствовать по мере сил данному направлению, хотя бы выказав интерес к теме в рассылке. Или начав изучать GPCP, понимая перспективы его развития. О, этот компилятор совсем недурён, господа.

Автор:  Илья Ермаков [ Четверг, 29 Ноябрь, 2012 23:55 ]
Заголовок сообщения:  Re: GPCP for LLVM

Направление хорошее, но как бы у них с LLVM надолго не затянулось.
LLVM на первый взгляд интересная вещь, но были и негативные отзывы про неё от авторов JIT, в плане геморности.

Автор:  Oleg N. Cher [ Пятница, 30 Ноябрь, 2012 14:06 ]
Заголовок сообщения:  Re: GPCP for LLVM

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

А ведь сейчас нет ни одного известного мне (даже с Оберона-2) компилятора для x86-64, и в этом свете такое направление уже радует. Кроме того, до кучи будет КП для ARM, разве ж это плохо?

Не надо замыкаться в коробке ББ и воспринимать всё, что хоть маленько выходит за эти рамки, в штыки. И подсознательно искать в нём недостатки. Ведь и проект LLVM не стоит на месте.

Автор:  Oleg N. Cher [ Суббота, 01 Декабрь, 2012 13:55 ]
Заголовок сообщения:  Re: GPCP for LLVM

Меня попросили в привате объясниться к кому относится фраза про КП без ББ в штыки. Я ни в коей мере не хотел адресовать это Илье, которого глубоко уважаю. Увы, я с тех времён, ещё когда опубликовал пост про KOL, рассматривал КП как самостоятельный язык, имеющий независимую от ББ перспективу на других платформах и системах, но не как внутренний придаток ББ. А позиция некоторых участников форума прямо противоположна, и такая позиция тоже имеет право на жизнь, но я прошу хотя бы не критиковать LLVM, не познакомившись досконально с её возможностями.

Автор:  Илья Ермаков [ Воскресенье, 02 Декабрь, 2012 00:45 ]
Заголовок сообщения:  Re: GPCP for LLVM

64-бит - очень важное направление, а LLVM я и сам рассматривал в качестве варианта для такой реализации. Знакомился немного с документацией. Потом натыкался на отрицательные отзывы - а к отзывам вида "штука слишком навороченная" я обычно отношусь со вниманием....

Автор:  Oleg N. Cher [ Среда, 12 Декабрь, 2012 14:54 ]
Заголовок сообщения:  Re: GPCP for LLVM

Ну, проект такого масштаба как LLVM с поддержкой стольких фронт языков и бэк архитектур и не может быть сильно уж простым.

Если интересует разработка на Оберонах под целевые платформы с разрядностью 64 бит, могу похвалиться практическими достижениями на этом поприще. Работа идёт через транслятор Оберона-2 в Си. Ofront очень гибок в настройках, и мне удалось с помощью кодогенерации Tiny C добиться очень маленького размера исполняемых целевых файлов — от 1,5 кб. Разумеется, пока это только эксперименты. По-настоящему надо делать библиотеки модулей и прочие обвязки для различных применений. Но, тем не менее, выбор Оберона-2 в качестве инструмента для разработки утилиты MakeZX продиктован не только желанием писать на любимом языке. Ведь я могу вполне не напрягаясь осилить генерацию в любой натив любой архитектуры (через Си) и также виртуальные платформы .NET/JVM (через GPCP).

Напоминаю, что Ofront сейчас доступен по лицензии BSD.

Автор:  Илья Ермаков [ Среда, 12 Декабрь, 2012 20:07 ]
Заголовок сообщения:  Re: GPCP for LLVM

Интересно, Олег. Удачи Вам!

Автор:  Oleg N. Cher [ Четверг, 13 Декабрь, 2012 16:23 ]
Заголовок сообщения:  Re: GPCP for LLVM

Благодарю, Илья!

Я даже модифицировал Ofront, нарастил недостающую для моих целей функциональность. В частности, чтобы избавиться от жирных рантаймов. Ну и добавил некоторые ещё вещи, например, беззнаковые типы SYSTEM.SHORTCARD, SYSTEM.CARDINAL и SYSTEM.LONGCARD.

Я не знаю ещё людей, работающих с Ofront; если таковые появятся в моём поле зрения, будем что-то думать насчёт того, чтобы зарелизить эту сборку Ofront'а отдельно, а в данный момент модифицированный Ofront является частью проекта XDev — моей сборки BlackBox, заточенной для кроссплатформенной разработки.

У OMinc есть версия Ofront, которая умеет транслировать в Си не только Oberon-2, но и Компонентный Паскаль (об этом сказал мне Josef Templ, автор Ofront'а). Я просил опубликовать её хотя бы по лицензии BlackBox, и они согласились, но сказали, что нужно время на подготовку проекта к публикации. Так что не знаю, на сколько лет это ещё затянется.

Если есть вопросы по работе с Ofront, буду рад ответить, но наверное для этого лучше завести новую тему. Пишите в личку.

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