Size: a a a

Compiler Development

2021 January 04

МВ

Макс Воробьев... in Compiler Development
источник
2021 January 05

BD

Berkus Decker in Compiler Development
MrSmith
Ну задача то не особо сложная на top уровне, но много подводных камней если делать с нуля. А прицепить к готовому приложению  не сложно
есть спека - это пол дела уже
источник

P

Pavel in Compiler Development
Всех приветствую. Подскажите пожалуйста, если в интерпретаторе выражений прямой запуск действий заменять подстановкой функций и таким образом в итоге собрать большую функцию которая и выполнит затем поданное на вход интерпретатору выражение, эта техника имеет какоето общепринятое название? И по сути это уже становиться компиляцией, но не понимаю во что.. как называется результат такой "компиляции"?
источник

AT

Alexander Tchitchigi... in Compiler Development
Pavel
Всех приветствую. Подскажите пожалуйста, если в интерпретаторе выражений прямой запуск действий заменять подстановкой функций и таким образом в итоге собрать большую функцию которая и выполнит затем поданное на вход интерпретатору выражение, эта техника имеет какоето общепринятое название? И по сути это уже становиться компиляцией, но не понимаю во что.. как называется результат такой "компиляции"?
Sounds a lot like Higher-Order Abstract Syntax. 🤔
источник

AT

Alexander Tchitchigi... in Compiler Development
Pavel
Всех приветствую. Подскажите пожалуйста, если в интерпретаторе выражений прямой запуск действий заменять подстановкой функций и таким образом в итоге собрать большую функцию которая и выполнит затем поданное на вход интерпретатору выражение, эта техника имеет какоето общепринятое название? И по сути это уже становиться компиляцией, но не понимаю во что.. как называется результат такой "компиляции"?
Вообще, конечно, это называется "денотационная семантика"... 😂
источник

AT

Alexander Tchitchigi... in Compiler Development
Definitional Interpraters possibly?
источник

P

Pavel in Compiler Development
Спасибо, пойду гуглить и читать) термины слышал, но не уверен за точное понимание)
источник

P

Pavel in Compiler Development
Я не настоящий сварщик, но причем тут денотационная семантика? Возможно я не четко выразился, подставляется реальная функция которая затем запуститься..
источник

AT

Alexander Tchitchigi... in Compiler Development
Pavel
Я не настоящий сварщик, но причем тут денотационная семантика? Возможно я не четко выразился, подставляется реальная функция которая затем запуститься..
А чем "реальные функции" отличаются от лямбда-термов? 😉
источник

DP

Defragmented Panda in Compiler Development
Pavel
Всех приветствую. Подскажите пожалуйста, если в интерпретаторе выражений прямой запуск действий заменять подстановкой функций и таким образом в итоге собрать большую функцию которая и выполнит затем поданное на вход интерпретатору выражение, эта техника имеет какоето общепринятое название? И по сути это уже становиться компиляцией, но не понимаю во что.. как называется результат такой "компиляции"?
inline function?
preprocessing?
источник

Miss Очепятка... in Compiler Development
Pavel
Всех приветствую. Подскажите пожалуйста, если в интерпретаторе выражений прямой запуск действий заменять подстановкой функций и таким образом в итоге собрать большую функцию которая и выполнит затем поданное на вход интерпретатору выражение, эта техника имеет какоето общепринятое название? И по сути это уже становиться компиляцией, но не понимаю во что.. как называется результат такой "компиляции"?
JIT оптимизация
источник

P

Pavel in Compiler Development
Alexander Tchitchigin
Definitional Interpraters possibly?
Да, это оно, спасибо!
источник

М

Михаил in Compiler Development
Приветствую!
Вопрос, кажется, немного специфический для группы, но кто-то сталкивался с необходимостью визуализации (допустим, в graphVis, но это не критично) CFG формы для g++'ного GIMPLE? Ну или самого GIMPLE для программы.
Я смог нагуглить только gcc-python3-plugin, но он, к сожалению, у меня не завелся, а писать свой парсер гимпла не хочется (верю, что кто-то это уже сделал для меня).
источник

BD

Berkus Decker in Compiler Development
Михаил
Приветствую!
Вопрос, кажется, немного специфический для группы, но кто-то сталкивался с необходимостью визуализации (допустим, в graphVis, но это не критично) CFG формы для g++'ного GIMPLE? Ну или самого GIMPLE для программы.
Я смог нагуглить только gcc-python3-plugin, но он, к сожалению, у меня не завелся, а писать свой парсер гимпла не хочется (верю, что кто-то это уже сделал для меня).
LLVM вполне  может визуализировать свой ssa как раз через graphviz; наверняка GIMPLE тоже можно, но я с gcc предпочитаю дела не иметь )
источник

М

Михаил in Compiler Development
Да, с LLVM все сильно приятнее, не спорю :)

На самом деле, у gcc есть возможность сдампить все представления через -fdump-tree-all-graph, но для этого надо иметь исходник
источник

BD

Berkus Decker in Compiler Development
Михаил
Да, с LLVM все сильно приятнее, не спорю :)

На самом деле, у gcc есть возможность сдампить все представления через -fdump-tree-all-graph, но для этого надо иметь исходник
мм, а у тебя есть только GIMPLE без исходника? как так вышло?
источник

М

Михаил in Compiler Development
Ну вот такая замечательно велосипедная задача
источник

М

Михаил in Compiler Development
Если бы были исходники, я бы не парился
источник

BD

Berkus Decker in Compiler Development
хорошо, тебе нужен парсер гимпла, который надо выдрать откуда-то из недр gcc - вряд ли на бинарный формат есть детальная спека
источник

BD

Berkus Decker in Compiler Development
ну а дальше в парсер остается вставить построение AGT (Abstract GIMPLE Tree) и из графовой формы сгенерить dot уже плевое дело
источник