Size: a a a

Compiler Development

2020 March 09

CC

Chris Calvin in Compiler Development
λoλdog
эт какие? которые есть уже миллион лет и в скале и в котлине? )
Они самые)
источник

E

EgorBo in Compiler Development
https://godbolt.org/z/7b5hby

хм, а почему гцц в транке не мержит ф-ции?
источник

LW

Lev Walkin in Compiler Development
static int вместо int.
источник

M

MaxGraey in Compiler Development
Lev Walkin
static int вместо int.
тоже самое
https://godbolt.org/z/L5yUFr
источник

LW

Lev Walkin in Compiler Development
С мобилы не вижу, там -O2 стоит?
источник

SS

Sergey Skvortsov in Compiler Development
С -Os мержит, без же лишний jmp
источник

AP

Antony Polukhin in Compiler Development
Похоже что подкрутили коэффициентик, и теперь если 2 функции короткие, то он их не мержит, чтобы избежать накладных расходов на jmp
источник

AP

Antony Polukhin in Compiler Development
Хотя если сделать подлиннее - всё равно не мержит
источник

DS

Dmitry Sokolov in Compiler Development
Почему в префиксной нотации сначала стоят оба оператора, а потом операнды?
источник

C

Constantine in Compiler Development
Dmitry Sokolov
Почему в префиксной нотации сначала стоят оба оператора, а потом операнды?
Это откуда?
источник

DS

Dmitry Sokolov in Compiler Development
источник

AT

Alexander Tchitchigin in Compiler Development
Dmitry Sokolov
Почему в префиксной нотации сначала стоят оба оператора, а потом операнды?
А они тоже в стек пихаются. Просто другой стек - стек операций. Так что исполняются потом в нужном порядке.
источник

AT

Alexander Tchitchigin in Compiler Development
Ну и потом, если расставить скобочки - получится полностью правильный Lisp. 😊
источник

DS

Dmitry Sokolov in Compiler Development
т.е. синтаксис от реализации зависит?
источник

AT

Alexander Tchitchigin in Compiler Development
Dmitry Sokolov
т.е. синтаксис от реализации зависит?
В смысле?
источник

DS

Dmitry Sokolov in Compiler Development
ну был бы один стек это бы не работало
источник

AT

Alexander Tchitchigin in Compiler Development
Выражение - это дерево. Соответствующий порядок обхода однозначно даёт нужное линейное представление.
источник

AT

Alexander Tchitchigin in Compiler Development
Dmitry Sokolov
ну был бы один стек это бы не работало
Что значит "не работало"? Это просто текст - он не может не работать. 😃
источник

AT

Alexander Tchitchigin in Compiler Development
Более того, "обычный" рекурсивный интерпретатор (definitional interpreter) по сути тоже использует стек операций - "обычный" стек - когда рекурсивно начинает вычислять подвыражения.
источник

AT

Alexander Tchitchigin in Compiler Development
Так что тут как ни крути - со всех сторон вылазит одна и та же сущность. 😊
источник