Уолтер создал первый C++ компилятор) Так что и тут в одиночку начал
Использующий llvm / gcc для своего яп Сильно проще, чем писать свой бек с нуля Создаётся ощущение, что "это планка, которую мне сомнительно преодолеть". Ну типо с готовыми бекендами как бы это вопрос времени, так как есть какая-то высокоуровневая абстракция, которая потом переводится в асм на основные платформы. А писать своё, это уже какой-то другой уровень. Ещё заставить это работать с существующим кодом Хотя такие мысли мб из-за того, что я 99% времени занимался всякой "прикладной" историей по типу питона, js/ts, dart и в системное не лез
Есть ещё вариант — компилируешь(транслируешь) в другой язык, например в Си. Некоторые так тоже делают. Это наверно самый простой вариант
Ну насчёт этого debatable, есть мнение, что написать кодогенерацию под одну платформу сильно проще, чем разбираться в LLVM (или GCC). Просто оптимизации самому докручивать надо будет... Да и к C ABI это никак не относится, ведь один из самый простых способов — кодген в C, что автоматом даёт C ABI.
Он наверно другое имел ввиду — можно напрямую сгенерировать биткод LLVM, а можно воспользоваться специальными функциями LLVM по генерации кода, что сильно упростит задачу
Ну не знаю, я так понял
Да. Речь была как раз про LLVM IR и API к ней, который сильно упрощает задачу по созданию компилятора для своего ЯП, в сравнении с подходом "всё с нуля" Ну и одна платформа - это не камильфо в наше время. Нужно как минимум линукс винда мак
Ну я отвечал на мем с "не могу внедрить в свой яп поддержку C ABI", это с LLVM IR/API/etc никак не связано
В этом и мем, что кто-то компиль пишет с нуля, а кто-то не доконца в терминологии разобрался)
Обсуждают сегодня