Size: a a a

Compiler Development

2021 January 09

AK

Andrei Kurosh in Compiler Development
Evgeniy
там как раз список литературы был, а теперь он потерт...
Список литературы в описании канала, его нет смысла всегда держать в закрепе
источник

AT

Alexander Tchitchigi... in Compiler Development
Так-то я из закрепа постепенно старые посты удалял... Оставил там обзор про распределение регистров и ещё что-то полезное... 😊
источник

AT

Alexander Tchitchigi... in Compiler Development
Можно снова закрепить, конечно.
источник

AG

Alex Gryzlov in Compiler Development
ну 9 постов как-то многовато всё же
источник

AG

Alex Gryzlov in Compiler Development
да и там 100% постов из плкомп, проще в сам канал зайти и посмотреть
источник

AK

Andrei Kurosh in Compiler Development
Добавил ссылку на plcomp также в описание
источник

M

MrSmith in Compiler Development
MaxGraey
> Я что-то недопонял логики предложения сделать @berkus модератоном...
Просто berkus довольно активен и вполне разумен, если не рассматривать его придирчивость и любовь к формализму. Ну и больше модераторов вроде не помешает.
Я против, он не сдержан и импулсивен
источник
2021 January 10

MM

Mikhail Maltsev in Compiler Development
MaxGraey
Все относительно) Если сравнивать обычный inline и always_inline, то второй намного строже. Он инлайнит всегда, если только это не приводит к комбинаторному взрыву или это вообще выполнимо. Инлайн же это лишь рекомендация (хинт)

Опять же все дело в формулировке. Это как говрить у вас компилятор оптимизирующий или нет? Так он же не умеет векторизировать (к примеру) - значит не оптимизирующий;)
В GCC если не удалось заинлайнить вызов always_inline-функции, компилятор выдаёт ошибку (хотя мне не удалось найти в документации какие-то гарантии по поводу того, что ошибка выдаётся всегда).
источник
2021 January 13

NK

ID:0 in Compiler Development
BLISS - один из самых ранних портативных языков для системного программирования, первая версия которого (BLISS-10) была выпущена для PDP-10 еще в 1970-ом году. Наиболее широкое применение язык нашел во внутренних разработках компании DEC, где на BLISS вплоть до 90-х создавались компиляторы, операционные системы и низкоуровневые утилиты.

Но прославился этот язык благодаря версии для PDP-11, вышедшей в 1975 году. Компилятор BLISS-11 был на голову выше конкурентов вроде ранних компиляторов C и поражал воображение разработчиков ("we'd sit and chuckle at what it had done"). Реализацию описывали несколько диссертаций (одна из них - за авторством будущего основателя Adobe) и книга. Пример инновационности BLISS-11 - анализ жизни переменных в применении к глобальному распределению регистров.

Книга описывает собственный подход к анализу областей жизни переменных (потому что "no truly satisfactory solution exists in the literature"). Найденные области обозначались каждая двумя координатами в двухмерном пространстве. Координаты задавали вершины прямоугольников. Если области-прямоугольники времени жизни переменных пересекались, то такие области не должны были оказываться в одном регистре.

Каждая переменная получала рейтинг на основе расположения в коде (напр. глубины вложения циклов) и размера области жизни (меньше - лучше). Переменные сортировались по рейтингу, и за один проход одна за другой сопоставлялись с регистрами, если только при этом не случалось пересечения с уже сопоставленными с регистром переменными.

Позже эта проблема была сведена к NP-сложной задаче об упаковке в контейнеры; и в следующих версиях BLISS разработчики развили подход в семейство алгоритмов binpacking, к которым относится и популярный алгоритм линейного сканирования.

С закатом DEC зашла и звезда BLISS. Но в истории компиляторов реализация языка оставила значимый след: книга The Design of an Optimizing Compiler (1975) стала классикой, и без BLISS любое обсуждение истории компиляторов будет неполным.

Wulf, W.A., 1975. The design of an optimizing compiler.

Brender, Ronald F. 2002. The BLISS programming language: a history

#bliss #registeralloc #history
источник

DF

Dollar Føølish in Compiler Development
А я как-то натыкался на этот Блисс когда браузил acm .. вроде известный язык в компиляторных кругах
источник

VK

Vladimir Kazanov in Compiler Development
Dollar Føølish
А я как-то натыкался на этот Блисс когда браузил acm .. вроде известный язык в компиляторных кругах
Ну, как я писал, популярен там именно необычайно продвинутый компилятор,
источник

VK

Vladimir Kazanov in Compiler Development
Dollar Føølish
А я как-то натыкался на этот Блисс когда браузил acm .. вроде известный язык в компиляторных кругах
Сам язык за пределами DEC распространения не получил
источник

MI

Manikhin Igor in Compiler Development
Коллеги, здравствуйте! Скажите пожалуйста: может кто-то из вас помочь написать синтаксический анализатор подаваемого на вход исходного кода программы на языке Python? Смысл задания в том, что на вход программы (она же синтаксический анализатор) подаётся исходный код программы на языке Python, на выходе должно получиться абстрактное синтаксическое дерево и оно должно быть графически отображено с помощью graphviz. Для построения абстрактного синтаксического дерева - пользоваться стандартной либой «ast” нельзя, остальным (регулярками например для реализации лексера - можно). Если по заданию будут вопросы - задавайте. Задание прошу выполнить за оплату само собой
источник

MI

Manikhin Igor in Compiler Development
Сам синтаксический анализатор тоже должен быть реализован на Python
источник

IK

Ivan Kochurkin in Compiler Development
Этот чат не для поиска исполнителей чьих-то домашних заданий.
источник

MI

Manikhin Igor in Compiler Development
Согласен, извиняюсь что в таких публичных местах подобное выкладываю. Но помощь очень нужна...
источник

IP

Iaroslav Postovalov in Compiler Development
Manikhin Igor
Коллеги, здравствуйте! Скажите пожалуйста: может кто-то из вас помочь написать синтаксический анализатор подаваемого на вход исходного кода программы на языке Python? Смысл задания в том, что на вход программы (она же синтаксический анализатор) подаётся исходный код программы на языке Python, на выходе должно получиться абстрактное синтаксическое дерево и оно должно быть графически отображено с помощью graphviz. Для построения абстрактного синтаксического дерева - пользоваться стандартной либой «ast” нельзя, остальным (регулярками например для реализации лексера - можно). Если по заданию будут вопросы - задавайте. Задание прошу выполнить за оплату само собой
ну сгенерируй парсер. модуль ast не использован.
источник

IP

Iaroslav Postovalov in Compiler Development
а что касается dot'а, то есть либа https://pypi.org/project/graphviz/
источник

MI

Manikhin Igor in Compiler Development
У самого не получается сделать... Поэтому и хочу у кого-то попросить помощи с выполнением данного задания.
источник

IK

Ivan Kochurkin in Compiler Development
Что конкретно не получается?
источник