Всем привет в данном цикле статей мы будем писать компилятор под платформу .NET на языке C#. В первой части я вам расскажу о общем строении компилятора, в следующих частях уже расскажу каждый элемент подробнее. Исходя из картинки представленной сверху можно понять что сначала какой либо язык компилируется в сборку ( Assembly ), а дальше JIT Compiler компилирует в машинный код который исполняется на девайсах. Давайте подробнее рассмотрим каждый нас интересующий компонент на картинке. Assembly (сборка ) - это базовая структурная единица в ...
В этой статье мы разберем анатомию простейшего компилятора: лексер, парсер и LLVM. Вы узнаете, как эти компоненты взаимодействуют для преобразования исходного кода в исполняемый файл. Компилятор обычно состоит из трех основных частей: фронтенда, оптимизатора и бэкенда. Фронтенд – это часть компилятора, которая непосредственно работает с исходным кодом на языке программирования. Его задачи: 💻 Библиотека программиста Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста» Оптимизатор получает промежуточное представление от фронтенда и пытается улучшить код...