Компилятор переводит код, написанный на одном языке, на другой язык, не меняя смысла программы. Также ожидается, что компилятор должен сделать целевой код эффективным и оптимизированным с точки зрения времени и пространства.
Принципы компиляции обеспечивают глубокое представление о процессе перевода и оптимизации. Конструкция компилятора охватывает базовый механизм перевода, а также обнаружение и исправление ошибок. Он включает в себя лексический, синтаксический и семантический анализ в качестве внешнего интерфейса, а также генерацию и оптимизацию кода в качестве внутреннего.
Аудитория
Это учебное пособие предназначено для студентов, заинтересованных в изучении основных принципов работы с компиляторами. С этого момента начинающие читатели, которые хотели бы узнать больше о компиляторах, и те, кто хочет самостоятельно создавать компиляторы.
Предпосылки
Это руководство не требует предварительных знаний о дизайне компилятора, но требует базового понимания, по крайней мере, одного языка программирования, такого как C, Java и т. Д. Это было бы дополнительным преимуществом, если вы ранее имели опыт программирования на ассемблере.