LLVM

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

LLVM

Сообщение Дож » 04.12.2015 06:01:15

А кто-нибудь в курсе что сейчас происходит с бэкендом для LLVM? Я читал в рассылке, что кто-то что-то в отдельном бранче пытался делать, но не знаю что там сейчас: разрабатывается активно, пассивно или совсем заброшено.

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

Re: LLVM

Сообщение Pavia » 04.12.2015 07:31:18

Ихмо проблема в исходниках FreePascal. Их писала курица лапой. Проще написать всё заново чем встроить.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 290
Зарегистрирован: 07.01.2011 12:46:51

Re: LLVM

Сообщение Vadim » 04.12.2015 12:30:02

На гугл-коде делали бакэнд для pascal.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: LLVM

Сообщение wavebvg » 04.12.2015 15:33:56

Vadim писал(а):На гугл-коде делали бакэнд для pascal.

Делали, делали, да невыделовали...
Там, конечно, полноценный парсер и анализатор (на паскале, 7 дельфа с некоторыми оговорками), но для дальнейшего развития трубется хорошо попилить ту часть, которая отвечает за парсинг и кодогенерацию.
Продолжение проекта я не видел.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: LLVM

Сообщение debi12345 » 04.12.2015 15:59:45

Через год-два Мартин выпуcтит "альфу" MSElang - оный вызывает LLVM в качестве кодогенератора.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: LLVM

Сообщение Mirage » 04.12.2015 22:34:21

У Мартина своеобразный подход ко всему, в том числе языку, так что это не сильно поможет.
Думаю, в FPC не все так страшно и его можно (и нужно) допилить. Сделали же JVM target.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: LLVM

Сообщение скалогрыз » 04.12.2015 23:33:50

Pavia писал(а):Ихмо проблема в исходниках FreePascal. Их писала курица лапой

почему? из-за особого форматирования или структуры кода?

Mirage писал(а):У Мартина своеобразный подход ко всему, в том числе языку, так что это не сильно поможет.
Думаю, в FPC не все так страшно и его можно (и нужно) допилить. Сделали же JVM target.

помрёт же! не хватит критической массы пользователей, в отличии от FPC.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: LLVM

Сообщение mse » 05.12.2015 11:22:45

The MSElang compiler will also compile the Free Pascal dialect used in MSEide+MSEgui. I am currently implementing that.
Because the parser is steered by a grammar script, it is easy to add the real MSElang grammar later.
MSElang produces LLVM bitcode which will be optimised and compiled to machine code by external LLVM programs.
Because MSElang does not link to LLVM libraries it is possible to use newer LLVM versions without hassle.
I recently switched from LLVM 3.5 to 3.7 and LLVM 3.7 could read the bitcode produced by MSElang for LLVM 3.5 without problems.
I currently read plenty of LLVM C++ code. OUCH! As Jonas writes, the worst possible C++ stile. It also doesn't look fast.
Unfortunately the new Free Pascal language elements remind me to that experience. :-(
The internal in-memory representation of the program in MSElang can run in a MSElang runtime for scripting purpose directly without use of LLVM.
mse
новенький
 
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Re: LLVM

Сообщение debi12345 » 06.12.2015 01:19:20

I currently read plenty of LLVM C++ code. OUCH! As Jonas writes, the worst possible C++ stile. It also doesn't look fast

Not fast for compile time or for resulting programs ?
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: LLVM

Сообщение mse » 06.12.2015 11:56:29

debi12345 писал(а):Not fast for compile time or for resulting programs ?

Not fast for compile time. There are many stages of type casting by accessing classes at almost every line of code.
The compiled programs look very good.
mse
новенький
 
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Re: LLVM

Сообщение debi12345 » 06.12.2015 13:43:19

There are many stages of type casting by accessing classes at almost every line of code.

Exessive usage of polimorphism ? It's an "outstanding" C++ feature :)

Have You seen Blender (C++ too) code ? How do You rate it ?

Добавлено спустя 10 минут 20 секунд:
The internal in-memory representation of the program in MSElang can run in a MSElang runtime for scripting purpose directly without use of LLVM

Also do You consider easy-to-use (in single line etc) in-code alternative for IDE property setting so that user can write sophisticated programs without using IDE? IDE based project becomes cumbersome & fragile as project gets larger but it doesn't happen with pure in-code project.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: LLVM

Сообщение Максим » 06.12.2015 15:37:16

Дож
Бэкенд LLVM уже несколько месяцев как влит в транк. Разработка ведётся активно.

скалогрыз писал(а):почему? из-за особого форматирования или структуры кода?

Можно подумать, он в код заглядывал. :mrgreen: Какой код, сначала журнал SVN бы найти.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 597
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: LLVM

Сообщение Kemet » 06.12.2015 17:56:27

Максим писал(а):Можно подумать, он в код заглядывал. :mrgreen: Какой код, сначала журнал SVN бы найти.

Но код действительно ужасный, причем, насколько я помню, в версиях <= 1.x код был более вменяемый, по крайней мере местами
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: LLVM

Сообщение mse » 06.12.2015 18:37:02

debi12345 писал(а):
There are many stages of type casting by accessing classes at almost every line of code.

Exessive usage of polimorphism ? It's an "outstanding" C++ feature :)

It seems so. :-)
Have You seen Blender (C++ too) code ? How do You rate it ?

I don't know blender.
The internal in-memory representation of the program in MSElang can run in a MSElang runtime for scripting purpose directly without use of LLVM

Also do You consider easy-to-use (in single line etc) in-code alternative for IDE property setting so that user can write sophisticated programs without using IDE?

In interpreter mode? This mode is not intended for complex projects. With normal compiler you can do this already if you don't like to use *.mfm resource files.
IDE based project becomes cumbersome & fragile as project gets larger but it doesn't happen with pure in-code project.

I don't think so if one strictly separates GUI and business-logic for example with inprocess "ifi" data points and if a good version control system and regular commits will be used which can easy restore a working state in case of an accident.
mse
новенький
 
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Re: LLVM

Сообщение debi12345 » 06.12.2015 20:20:16

separates GUI and business-logic for example with inprocess "ifi"

Yes, it has been a surprise to me that WWW-apps (HTML+PHP+JS+CSS) are much-much easier to maintain exactly because of splitting functionality into HTML+PHP(server side = business logic) & JS(client side = GUI loading interaction) & AJAX(transport glue + parallelizing). Also this enforces the "orthogonal" approach of designing programs.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

След.

Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru