Size: a a a

Compiler Development

2020 April 04

а

акварель на мету in Compiler Development
и вообще в бинарь попадать не должны
источник

а

акварель на мету in Compiler Development
по крайней мере в плюсах
источник

p

polunin.ai in Compiler Development
Михаил Бахтерев
700 мегабатов было, когда смотрел. Может быть, починили. Но объяснялось так, что "это потому что шаблоны".
Что ты хочешь от продукта Яндекса?
источник

а

акварель на мету in Compiler Development
в расте ж женерики
источник

p

polunin.ai in Compiler Development
акварель на мету
в расте ж женерики
Они все инлайнятся
источник

а

акварель на мету in Compiler Development
polunin.ai
Они все инлайнятся
в каком смысле
источник

p

polunin.ai in Compiler Development
И да, в расте не будет гигабайтного бинаря ну никак.
источник

p

polunin.ai in Compiler Development
акварель на мету
в каком смысле
В смысле что в рантайме будет происходить не переход по vtable а обычный вызов функции
источник

а

акварель на мету in Compiler Development
polunin.ai
В смысле что в рантайме будет происходить не переход по vtable а обычный вызов функции
слишком много значений у инлайна
источник

МБ

Михаил Бахтерев in Compiler Development
polunin.ai
Что ты хочешь от продукта Яндекса?
Ну, вот в firefox-е libxul.so - это 100MiB, при чём, для armv8. Тоже, так сказать, не утончённо. Полная сборка Linux меньше размером.
источник

МБ

Михаил Бахтерев in Compiler Development
Ну, я к тому, что мономорфизация - это не бесплатное удовольствие.
источник

RS

Rifat S in Compiler Development
акварель на мету
Кстати, а где можно почитать про подходы парсинга языка и трансляции его в ассемблер ?
А то эти АСТ мне пока-что совершенно непонятны, кажется не с них начинают.
По идее же есть какие-то простые/примитивные способы парсинга и трансляции ?
Для компилятора AST не обязателен. В книгах Никлауса Вирта Конструирование компилятора или Compiler Construction, если привыкли читать на английском хорошо описано, как создать компилятор и без AST.
источник

p

polunin.ai in Compiler Development
Rifat S
Для компилятора AST не обязателен. В книгах Никлауса Вирта Конструирование компилятора или Compiler Construction, если привыкли читать на английском хорошо описано, как создать компилятор и без AST.
Нууу без АСТ ты не сможешь проводить промежуточные проверки и оптимизации нормально
источник

p

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

RS

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

RS

Rifat S in Compiler Development
И все это в однопроходном компиляторе.
источник

VM

Victor Miasnikov in Compiler Development
polunin.ai
Просто транслировать один язык в другой не вижу смысла, если честно
Можно "не просто", можно, как в OO2C, оптимизировать ( SSA)
источник

p

polunin.ai in Compiler Development
Rifat S
И все это в однопроходном компиляторе.
Тогда нужно будет идти по пути Си и делать разделение объявления и реализации и заголовочные файлы, чтобы за один проход можно было компилировать.
источник

RS

Rifat S in Compiler Development
В ОО2С уже есть AST. Вопрос был изначально про то, где можно почитать как сделать компилятор и без AST.
источник

p

polunin.ai in Compiler Development
Rifat S
В ОО2С уже есть AST. Вопрос был изначально про то, где можно почитать как сделать компилятор и без AST.
Вопрос был по причине что вопрошающий не понимал что такое АСТ и боялся его писать.
источник