Size: a a a

Compiler Development

2021 June 24

AT

Alexander Tchitchigi... in Compiler Development
Не уверен, что имеет смысл выносить сложность из VM в компилятор.
источник

AT

Alexander Tchitchigi... in Compiler Development
В общем случае — да, конечно, но конкретно в этом вопросе не кажется оправданным.
источник

AT

Alexander Tchitchigi... in Compiler Development
Тем более, сделать регистровую ВМ не сказать чтобы сложнее стековой...
источник

МБ

Михаил Бахтерев... in Compiler Development
Стековый компилятор проще, а потом отдельно делать компилятор промежуточного стекового кода в машинный. Не сложно стековое представление перегнать в SSA, например
источник

AT

Alexander Tchitchigi... in Compiler Development
Ну разве что в такой компоновке...
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну, просто одна из стратегий реализации компилятора для быстрого bootstrap.
источник
2021 June 25

P🍣

Pavel 🍣 in Compiler Development
Нашел багу в компиляторе для новой спеки, но не знаю как ее правильно описать. Допустим я в конструктор vec3(a, b, c) вместо a,b,c из трех чисел, пихаю одно a и оно разворачивается в a,a,a. Это называется полиморфизм?
источник

AT

Alexander Tchitchigi... in Compiler Development
Arity polymorphic? Ну не знаю... Я бы так и писал: "пихаю a вместо a,b,c — оно разворачивается" (или не разворачивается).
источник

P🍣

Pavel 🍣 in Compiler Development
ну оно иногда разворачивается, а иногда ошибки сыпет странные с кишками
источник

RE

Roman Elizarov in Compiler Development
Это вроде как “broadcasting” называется.
источник

P🍣

Pavel 🍣 in Compiler Development
Похоже на то что что надо, впрочем проще пример написать конечно. Пасиб.
источник

SS

Sergey Sverdlov in Compiler Development
Третье издание книги "Языки программирования и методы трансляции":

https://e.lanbook.com/book/173116
источник

AK

Andrei Kurosh in Compiler Development
ого, а можно в паре слов о том, что поменялось с предыдущих редакций? у меня видимо самая первая, 2007 года
источник

SS

Sergey Sverdlov in Compiler Development
Третье издание стереотипное. Второе отличается от первого мелкими поправками в первой главе и исправлением ошибок и погрешностей верстки.
источник

AK

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

АП

Антон Пилипчук... in Compiler Development
о, а у меня есть другая книга с таким же названием
источник

SS

Sergey Sverdlov in Compiler Development
Эта не считается :)
источник
2021 June 26

к

кана in Compiler Development
это перегрузка. Перегрузку можно реализовать через адхок-полиморфизм
источник

к

кана in Compiler Development
хотя в эрланге например это даже не перегрузка, там просто имя функции это тройка из атома модуля, атома имени, и арности. Арность не указывается при вызове, потому что выводится из количества переданных аргументов

x:f(a, b, c)
это неявно
x:f/3(a, b, c)
источник
2021 June 27

AK

Andrei Kurosh in Compiler Development
А такого понятия как «аргументы по умолчанию» там нет и, выходит, даже добавить не получится, не разломав все напрочь?
источник