Компилятор ObjectPascal с LLVM-бакендом

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Нужен ли компилятр языка Object Pascal (язык на уровне Delphi 2006)

Зачем, есть же монструозный FreePascal, просто не используй ненужные фичи
1
7%
Категорически нет
1
7%
Пригодится
8
53%
Да, нужен
4
27%
Я готов присоединиться к разработке
1
7%
 
Всего голосов : 15

Компилятор ObjectPascal с LLVM-бакендом

Сообщение Kemet » 25.12.2015 12:26:24

В общем есть идея, основанная на некоторой корпоративной целесообразности, таки написать фронтенд к LLVM для языка Object Pascal уровня Delphi 2006. Кроме нас нужно кому-то данное поделие?
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Лекс Айрин » 25.12.2015 12:37:06

Я бы не отказался попробовать.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Дож » 25.12.2015 12:49:18

В FPC уже ведётся разработка LLVM-бэкенда, см. в транке compiler\llvm и http://lists.freepascal.org/fpc-devel/2 ... 35747.html
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение wavebvg » 25.12.2015 13:31:23

Kemet писал(а):фронтенд к LLVM для языка Object Pascal

Что именно Вы имеете в виду? Какие конструкции будут поддерживаться, есть ли наброски? Будете ли использовать какие-либо готовые разработки, чтобы довести их до ума (к примеру ip015 или llvm-pascal)?
Дож писал(а):В FPC уже ведётся разработка LLVM-бэкенда

Вот только его использование - это скорее от безысходности.
FPC вместе с FPC RTL - это, в первую очередь, кроссплатформенность, а уже потом все остальное (производительность, оптимизация, качество кода, надежность и т.п.).
LLVM сам по себе кроссплатформенный и получаем только избыточность при кодогенерации (FPC очень старается), да и томоза тоже местами случаются.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение hinst » 25.12.2015 13:44:06

FreePascal монстроузный, а LLVM белый и пушистый?
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение wavebvg » 25.12.2015 14:10:37

hinst писал(а):FreePascal монстроузный, а LLVM белый и пушистый?

FreePascal - вещь в себе. Содержит все, что необходимо для быстрого старта и завершения проекта:
1. Пишите документированными функциями с однаковым результатом
2. Приложение запускается на любой поддерживаемой платформе
3. Кросскомпиляция почти из коробки
4. Модули тестирования, свой генератор сборочных файлов (+ lazbuild) и т.п. делает большую часть разработки комфортной и простой
5. Своя IDE (Lazarus) отлично справляется с поставленными задачами

Но есть свои но:
1. Требуется очень много ресурсов, чтобы отладить серьёзный рефакторинг кодовой базы (а он много где нужен)
2. Наличие рекурсивных зависимостей внутри компонент RTL
3. Отсутствует единый сервис сборки и тестирования (по крайней мере, я не видел) изменений, поэтому 1 пункт даже при наличии ресурса не всегда можно довести до ума сразу

LLVM - это лишь бекенд, который соберет бинарник. Не белый, не пушистый, лишь инструмент. Да и воспользоваться им эффективно затруднительно: результат все равно будет опосредственный, свой кодогенератор у FPC куда лучше справляется.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Дож » 25.12.2015 14:10:53

wavebvg писал(а):LLVM сам по себе кроссплатформенный и получаем только избыточность при кодогенерации (FPC очень старается), да и томоза тоже местами случаются.

Например, FPC не умеет компилироваться в JS, а LLVM умеет :) Так что не только избыточность, но и новые возможности.

В чём гипотетический отдельный Pascal-фронтенд к LLVM будет лучше компиляции в LLVM из FPC?
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Kemet » 25.12.2015 14:15:44

hinst писал(а):FreePascal монстроузный, а LLVM белый и пушистый?
Не стоит путать фронтенд (синтаксис/семантика), с инфраструктурой - инфраструктура LLVM и FPC вполне нормальные(ну если закрыть глаза на сам исходный код FPC), а вот фронтенд FPC действительно монструозный.

Добавлено спустя 2 минуты 8 секунд:
Дож писал(а):В FPC уже ведётся разработка LLVM-бэкенда, см. в транке compilerllvm и http://lists.freepascal.org/fpc-devel/2 ... 35747.html
Я видел - не устраимвает именно сам фронтенд и линия партии, по которой движется Дельфи и Фрипаскаль.

Добавлено спустя 2 минуты 45 секунд:
wavebvg писал(а):Какие конструкции будут поддерживаться, есть ли наброски? Будете ли использовать какие-либо готовые разработки, чтобы довести их до ума (к примеру ip015 или llvm-pascal)?
Я же написал - ориентир Delphi 2006, пока ТЗ нет. Будет писаться с нуля.

Добавлено спустя 2 минуты 27 секунд:
И да, сборка мусора тоже будет поддерживаться
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Дож » 25.12.2015 14:28:29

И да, сборка мусора тоже будет поддерживаться

Дай угадаю: вся тема — это такой пятничный троллинг? :D
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Kemet » 25.12.2015 14:40:43

Дож писал(а):
И да, сборка мусора тоже будет поддерживаться

Дай угадаю: вся тема — это такой пятничный троллинг? :D
причем здесь троллинг? нам, реально нужен GC, ну не совсем нам, да, а клиентам, мы то сами от FPC давно отказались, пользуем Delphi в случае необходимости(невеликой), но, в силу наличия выигранного тендера и желания заказчика, придется вновь ввести объжект паскаль в продакшен - сейчас решение на FPC, как временное решение
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение wavebvg » 25.12.2015 14:52:46

Слишком много противоречий
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение hinst » 25.12.2015 15:27:10

Нельзя просто так взять и написать компилятор с нуля. А недописанный компилятор без библиотек, без IDE но с багами нафиг нужен. Поэтому ответ = не нужен
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение ev » 25.12.2015 15:34:02

hinst писал(а):Нельзя просто так взять и написать компилятор с нуля. А недописанный компилятор без библиотек, без IDE но с багами нафиг нужен. Поэтому ответ = не нужен

ну почему, у автора ведь есть ограничения - они позволят использовать существующие IDE и даже библиотеки
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение wavebvg » 25.12.2015 16:22:27

hinst писал(а):недописанный компилятор без библиотек, без IDE

hinst писал(а):компилятор

Так же, как и FPC.
Идея в том, чтобы написать новый транслятор языка, а не новый язык.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Компилятор ObjectPascal с LLVM-бакендом

Сообщение Kemet » 25.12.2015 18:10:26

hinst писал(а):Нельзя просто так взять и написать компилятор с нуля. А недописанный компилятор без библиотек, без IDE но с багами нафиг нужен. Поэтому ответ = не нужен
Это не полный компилятор, а фронтенд к LLVM, что несколько проще, к тому же язык - Дельфи 2006(ориентир), так что собрать ото же Лазарус или тайфун будет можно (хотя, возможно, и потребуются некоторые изменения, кроме того есть своя IDE, написанная на Delphi 2006, так что всё не так печально
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

След.

Вернуться в Потрепаться

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

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

Рейтинг@Mail.ru