Size: a a a

Compiler Development

2020 February 19

FO

FORTRAN ONE LOVE in Compiler Development
Я Kate юзаю. Мне нормально :)
источник

p

polunin.ai in Compiler Development
FORTRAN ONE LOVE
Я Kate юзаю. Мне нормально :)
Фортран уже не в моде?
источник

FO

FORTRAN ONE LOVE in Compiler Development
polunin.ai
Фортран уже не в моде?
Весна пришла :)
источник

СЛ

Сергей Лапынин in Compiler Development
Так вот как появляются хипстерские ЯП...
источник

RB

Rustem B. in Compiler Development
FORTRAN ONE LOVE
Я Kate юзаю. Мне нормально :)
CLang ¯\_(ツ)_/¯
источник

YS

Yuriy Syrovetskiy in Compiler Development
FORTRAN ONE LOVE
Я Kate юзаю. Мне нормально :)
Юля знает про эти твои отношения с Катей?
источник

FO

FORTRAN ONE LOVE in Compiler Development
Yuriy Syrovetskiy
Юля знает про эти твои отношения с Катей?
Боюсь, что нет)
источник

AK

Andrei Kurosh in Compiler Development
Val Krylov
Наоборот. Где описывается синтаксис - там же удобно описать логику автокомплита, специфичных рефакторингов, чего угодно. Всё равно она будет не внутри процесса IDE, а где-нибудь в language server.
Это все понятно. Но представьте, что должна делать среда для переименования метода. Нужно сначала развернуть все макросы, чтобы найти его настоящие упоминания, а потом прокрутить все назад, чтобы определить что именно в исходном коде менять.  А там еще может быть произвольная логика...
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
Это все понятно. Но представьте, что должна делать среда для переименования метода. Нужно сначала развернуть все макросы, чтобы найти его настоящие упоминания, а потом прокрутить все назад, чтобы определить что именно в исходном коде менять.  А там еще может быть произвольная логика...
Я для фортрана для развертывания общих блоков примерно так и делаю. По факту сейчас это гигантская куча регулярных выражений (потому что нечего пытаться одновременно парсить и free-, и fixed-форматы), которая отслеживает все использования общих блоков и декларации типов переменных общих блоков.
А вообще тут очень сильно помогает АСТ дерево с включенными в него комментариями и якорями к строкам исходного файла. Я только форматирование исходных текстов сейчас теряю
источник

FO

FORTRAN ONE LOVE in Compiler Development
Я АСТ полностью не строю: код хранится блоками исходного кода. Так проще его перестраивать.
источник

VK

Val Krylov in Compiler Development
Andrei Kurosh
Это все понятно. Но представьте, что должна делать среда для переименования метода. Нужно сначала развернуть все макросы, чтобы найти его настоящие упоминания, а потом прокрутить все назад, чтобы определить что именно в исходном коде менять.  А там еще может быть произвольная логика...
Если в макросе unbounded polymorphism, то не сложнее случая "метод вызывается из C++ шаблона". Если нет - вообще как с обычной функцией.
источник

МБ

Михаил Бахтерев in Compiler Development
Прзанудствую. Thunk - это звук запихиваемого в магазин патрона. Теоретически, это тот самый cur(f) в диаграмме экспоненциала. Практически - это создание замыкания кода с его окружением и запись этой пары в стек. Одинаково работает и для энергичных и для call-by-name вычичлений. Последние технически отличаются только способом формирования пар (или структур) при создании окружений: в окружения пишутся thunk-и, а не значения. Ленивые вычислния - это оптимизация CBN. Thunk-и не являются чем-то для них специфичным.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Val Krylov
Если в макросе unbounded polymorphism, то не сложнее случая "метод вызывается из C++ шаблона". Если нет - вообще как с обычной функцией.
самое сложное с макросами — определить границы видимости, то есть отличить искомую сущности от другой с таким же именем
источник

DP

Dmitry Ponyatov in Compiler Development
русский перевод TAPL в бумаге насколько вменяем — стоит ли брать?
источник

VK

Val Krylov in Compiler Development
Yuriy Syrovetskiy
самое сложное с макросами — определить границы видимости, то есть отличить искомую сущности от другой с таким же именем
Если макросы на уровне AST или текста (а не на уровне системы типов) и рассматривается отдельная библиотека, то да, для всех кейсов не вывести. А если цельное приложение, то компилятор и так выводит.
источник

K

Kir in Compiler Development
Лень + mixfix операторы = почти любой синтаксис - немного производительности
источник

АУ

Анна Удовиченко in Compiler Development
Dmitry Ponyatov
русский перевод TAPL в бумаге насколько вменяем — стоит ли брать?
мне норм 🙃
источник

I

Ilmir in Compiler Development
Dmitry Ponyatov
русский перевод TAPL в бумаге насколько вменяем — стоит ли брать?
Абсолютно вменяем. Вы, кстати, напомнили мне, что когда я в следующий раз поеду в Москву, надо будет не забыть мой TAPL, чтобы взять автограф у переводчика.
источник

PS

Peter Sovietov in Compiler Development
Ilmir
Абсолютно вменяем. Вы, кстати, напомнили мне, что когда я в следующий раз поеду в Москву, надо будет не забыть мой TAPL, чтобы взять автограф у переводчика.
Юрий Бронников? Передайте, пожалуйста, ему благодарность за все его переводы, начиная с SCIP. Юрий — самый главный популяризатор ФП на наших просторах :)
источник

I

Ilmir in Compiler Development
Peter Sovietov
Юрий Бронников? Передайте, пожалуйста, ему благодарность за все его переводы, начиная с SCIP. Юрий — самый главный популяризатор ФП на наших просторах :)
Передал
источник