Size: a a a

Compiler Development

2020 February 06

E

EgorBo in Compiler Development
там справа он дампится для каждой фазы (для случая на скрине - до или после CSE)
источник

PS

Peter Sovietov in Compiler Development
Mikola Summer Duck
Ну это правило буравчика, как „тело функции должно помещаться на экран“ , не всегда реально, не всегда следование ему делает код читабельней.
В подобном духе в свое время говорили противники структурного программирования. Ограничения — штука неидеальная, но без них в общем случае еще хуже :)
источник

MS

Mikola Summer Duck in Compiler Development
Peter Sovietov
В подобном духе в свое время говорили противники структурного программирования. Ограничения — штука неидеальная, но без них в общем случае еще хуже :)
Ну такое. Структурное программирование не говорит что нужно бить логику на функции пока те не станут помещаться на экране.
источник

PS

Peter Sovietov in Compiler Development
Интересно! Вообще, это малоразвитая область — средства визуализации и отладки для разработчиков компиляторов.
источник

M

MaxGraey in Compiler Development
Мне еще нравиться вот такой стеково-древовидный подход, на котором можно увидеть сразу 3 графа
источник

AG

Alex Gryzlov in Compiler Development
Peter Sovietov
Интересно! Вообще, это малоразвитая область — средства визуализации и отладки для разработчиков компиляторов.
узковат рынок видимо :)
источник

E

EgorBo in Compiler Development
у ллвм же есть тулза для рисования бб-ков
источник

E

EgorBo in Compiler Development
но как обычно - как только пытаешься построить граф для чего-то сложнее a + b — превращается в мессиво аля Анрил Блюпринтс по ссылке :)
источник

M

MaxGraey in Compiler Development
MaxGraey
Мне еще нравиться вот такой стеково-древовидный подход, на котором можно увидеть сразу 3 графа
Но это все для пассивного анализа, не для конструирования)
источник

PS

Peter Sovietov in Compiler Development
Mikola Summer Duck
Ну такое. Структурное программирование не говорит что нужно бить логику на функции пока те не станут помещаться на экране.
Вот конкретный пример из языка Faust. Как можно видеть, по коду получаются структурированные граф. представления. Но при этом произвольно узлы создавать-соединять нельзя, есть определенная алгебра блочных диаграмм.

https://faust.grame.fr/doc/manual/index.html#quick-start
источник

E

EgorBo in Compiler Development
для разработчика оптимизирующего компилятора было бы клево если бы граф был интерактивным — прям гифкой показывал дифф графа между изменениями :)
источник

M

MaxGraey in Compiler Development
EgorBo
для разработчика оптимизирующего компилятора было бы клево если бы граф был интерактивным — прям гифкой показывал дифф графа между изменениями :)
Вот тоже о таком мечтаю
источник

PS

Peter Sovietov in Compiler Development
Alex Gryzlov
узковат рынок видимо :)
Но можно академическое исследование начать и статьи писать :)
источник

TS

Timur Safin in Compiler Development
FWIW, сто лет назад, в Интеле, в бабаяновском проекте Vip процессора компиляторщики использовали aiSee для визуализации графов микроядер из бенчмарков. Там было удобно тем, что можно было скрыть/раскрыть уровень детализации блоков. Но у aiSee были недостатки:
- он внезапно был платный
- и похоже он больше не поддерживается
(хотя никогда не понимал в чем сложность сделать вьювер таких простых иерархических моделей?)
источник

PS

Peter Sovietov in Compiler Development
Timur Safin
FWIW, сто лет назад, в Интеле, в бабаяновском проекте Vip процессора компиляторщики использовали aiSee для визуализации графов микроядер из бенчмарков. Там было удобно тем, что можно было скрыть/раскрыть уровень детализации блоков. Но у aiSee были недостатки:
- он внезапно был платный
- и похоже он больше не поддерживается
(хотя никогда не понимал в чем сложность сделать вьювер таких простых иерархических моделей?)
А разве в yEd нет такой же функциональности? Очень удобный редактор, а не просто язык-компилятор, как graphviz.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Peter Sovietov
А разве в yEd нет такой же функциональности? Очень удобный редактор, а не просто язык-компилятор, как graphviz.
а компилятор, аналогичный graphviz, в yEd разве есть?
источник

TS

Timur Safin in Compiler Development
Peter Sovietov
А разве в yEd нет такой же функциональности? Очень удобный редактор, а не просто язык-компилятор, как graphviz.
ничего не могу сказать, а yEd уже был доступен в 2011-2013 годах?
да и вообще "мопед не мой" (просто вспомнил что использовалось)
источник

PS

Peter Sovietov in Compiler Development
Yuriy Syrovetskiy
а компилятор, аналогичный graphviz, в yEd разве есть?
Там используется свой, основанный на XML, формат. Я в свое время написал для своих инструментов на Питоне простую библиотечку: https://github.com/true-grue/yed_py
Думаю, для Haskell тоже полезно такое реализовать ;)
источник

TS

Timur Safin in Compiler Development
во, а давайте @Sergos12 спросим? почему aiSee и смотрели ли вокруг?
источник

ИЧ

Илья Чистяков in Compiler Development
Peter Sovietov
Там используется свой, основанный на XML, формат. Я в свое время написал для своих инструментов на Питоне простую библиотечку: https://github.com/true-grue/yed_py
Думаю, для Haskell тоже полезно такое реализовать ;)
красиво
источник