Size: a a a

Compiler Development

2021 April 21

AT

Alexander Tchitchigi... in Compiler Development
Да.
источник

AT

Alexander Tchitchigi... in Compiler Development
Разве что Node.js 14.16.1 — не самая новая версия... 😃
источник

AK

Andrei Kurosh in Compiler Development
Теперь понятно, спасибо
источник

AK

Andrei Kurosh in Compiler Development
Значит обновлена поддержка nodejs, а не сам nodejs
источник

AT

Alexander Tchitchigi... in Compiler Development
Но Вы всё-таки почитайте про GraalVM и Truffle — чё-то вообще очень крутая система получилась, и продолжает улучшаться. 😊
источник

AT

Alexander Tchitchigi... in Compiler Development
В этом смысле, обновлена их реимплементация Node.js.
источник

AK

Andrei Kurosh in Compiler Development
Да, спасибо, действительно стоит почитать
источник

a

alez in Compiler Development
Пытаюсь сделать компилятор на системе переписывания. Кое-как осилил нейм-резолюшн, но теперь нужно создавать Control Flow Graph, а в моей системе графов нет - только древа. Как в таком случае подойти к CFG? Или лучше таки доделать графовые переписывания? Но я вот думал, там же другие проблемы появятся, придется например проверять зацикленность.
источник

AT

Alexander Tchitchigi... in Compiler Development
А зачем Вам CFG понадобился? Нельзя ли обойтись без него? 😊
источник

a

alez in Compiler Development
Я не уверен, а можно? Просто это мой первый компилятор, делаю как нас учат делать)
источник

AT

Alexander Tchitchigi... in Compiler Development
Самые простые компиляторы обходятся генерацией кода на основе шаблонов, сразу по AST, без промежуточных представлений и CFG в частности. Но это и от "расстояния" между входным и выходным языком зависит.
источник

ГГ

Гриша Герасев... in Compiler Development
@GabrielFallen А можете сказать, когда без CFG никак, например?

То есть не для оптимизаций, а именно для генерации кода.
источник

AT

Alexander Tchitchigi... in Compiler Development
Так я ж говорю — это смотря откуда стартуем. Если у нас уже на руках SSA — то дальше CFG, конечно, не нужен. Но если SSA у нас ещё нет... 😊
источник

a

alez in Compiler Development
Понял, значит не обязательно себя мучать) А язык у меня на входе С-подобный, типизированый, а на выходе - ассемблер.
источник

AT

Alexander Tchitchigi... in Compiler Development
Гм... Я что-то сейчас с ходу не вспомню, можно ли без CFG регистры распределить?.. 🤔
источник

PS

Peter Sovietov in Compiler Development
SSA вовсе не отменяет необходимости в CFG :)
источник

a

alez in Compiler Development
Вот кстати да, распределение регистров хочу сделать, а там же и раскраска графов нужна?
источник

AT

Alexander Tchitchigi... in Compiler Development
Разве? Вроде ж CFG уже "вплетён" в SSA? Я имею в виду на уровне переходов между блоками?
источник

AT

Alexander Tchitchigi... in Compiler Development
Так-то методов больше одного. Посмотрите что там в закрепе чата осталось. 😉
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Это один из способов. Советую попробовать на первый раз linear scan
источник