LLVM - новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем познакомит с архитектурой LLVM и особенностями работы всех компонентов компилятора: анализатора исходных текстов, генератора кода промежуточного представления, генератора выполняемого кода, механизма JIT-компиляции, возможностями кросс-компиляции и интерфейсом расширений. На множестве наглядных примеров и фрагментов исходного кода книга поможет вам войти в мир разработки компиляторов на основе LLVM. Издание предназначено энтузиастам, студентам, а также разработчикам компиляторов, интересующимся LLVM. Читатели должны знать язык программирования С++ и, желательно, иметь некоторые представления о теории...
LLVM - novejshij frejmvork dlja razrabotki kompiljatorov. Blagodarja prostote rasshirenija i organizatsii v vide mnozhestva bibliotek, LLVM legko poddaetsja osvoeniju dazhe nachinajuschimi programmistami, vopreki ustojavshemusja mneniju o slozhnosti razrabotki kompiljatorov. Snachala eta kniga pokazhet, kak nastroit, sobrat i ustanovit biblioteki, instrumenty i vneshnie proekty LLVM. Zatem poznakomit s arkhitekturoj LLVM i osobennostjami raboty vsekh komponentov kompiljatora: analizatora iskhodnykh tekstov, generatora koda promezhutochnogo predstavlenija, generatora vypolnjaemogo koda, mekhanizma JIT-kompiljatsii, vozmozhnostjami kross-kompiljatsii i interfejsom rasshirenij. Na mnozhestve nagljadnykh primerov i fragmentov iskhodnogo koda kniga pomozhet vam vojti v mir razrabotki kompiljatorov na osnove LLVM. Izdanie prednaznacheno entuziastam, studentam, a takzhe razrabotchikam kompiljatorov, interesujuschimsja LLVM. Chitateli dolzhny znat jazyk programmirovanija S++ i, zhelatelno, imet nekotorye predstavlenija o teorii...