Это руководство посвящено написанию простейшего компилятора на LLVM. Никакой предварительной подготовки не требуется. Входным языком нашего компилятора будет BF. Это классический «игрушечный» язык для компиляторов, и даже есть компилятор BF в примерах к LLVM! В этом посте я приведу процесс написания компилятора с пояснениями. Читать дальше →
Часть 1 ‣ Часть 2 ‣ Часть 3 ‣ Часть 4 ‣ Часть 5 ‣ Часть 6 ‣ Часть 7 ‣ Часть 8 ‣ Часть 9 ‣ Часть 10 ‣ Часть 11 ‣ Часть 12 ‣ Часть 13 ‣ Часть 14 ‣ Часть 15 Starlink и погода После того, как началось публичное бета тестирования и сотни энтузиастов получили, смонтировали и включили в сеть свои…
Часть 1 >> Часть 2 >> Часть 3 >> Часть 4 >> Часть 5 >> Часть 6 >> Часть 7 >> Часть 8 >> Часть 9 >> Часть 10 >> Часть 11 >> Часть 12 >> Часть 13 >> Часть 14 >> Часть 15 >> Часть…
Для завершения реализации компилятора потребовалось около месяца времени (вечерами), чтобы на практике познакомиться с такими темами как BNF (Backus Naur Form), Abstract Syntax Tree (AST), Symbol Table, способами генерации кода, разработки самого компилятора (front-end, back-end), а также модификации виртуальной машины CVM. Ранее с этими темами был не знаком, но благодаря комментаторам погрузился. Хоть затрагиваемых тем много, постараюсь рассказать очень лаконично. Но обо всём по порядку. Читать далее