Эта небольшая, но емкая книга является введением в теорию создания компиляторов, а также кратким описанием принципов их работы. Изучение компиляторов является центральным и одним из наиболее востребованных аспектов компьютерных наук. Написание компилятора требует знания исходного языка, целевой машины и обеспечения их взаимосвязи. Наличие современного инструментального обеспечения освобождает программиста от многих утомительных, подверженных ошибкам моментов при создании компилятора. Данная книга прежде всего посвящена компиляции императивных языков, поэтому язык С применяется в качестве исходного языка во многих примерах, описывающих различные аспекты компиляции. В то же время многие свойства языка, компиляцию которого мы рассматриваем в этой книге, не связаны с C, поэтому в таких случаях используются другие, более подходящие языки - Pascal, Ada, C++, FORTRAN, Java. Материал изложен в расчете на читателя, не знакомого с данным предметом. В тексте предлагаются рекомендации по дополнительной литературе и даны подсказки по средствам инструментальной поддержки. Для закрепления материала предлагаются упражнения (с решениями). В завершение книги приводится словарь терминов, используемых в данной области. Книга может быть полезна как студентам, так и преподавателям, читающим соответствующий курс лекций.
Author(s): Хантер Р
Publisher: Вильямс
Year: 2002
Language: Russian
Pages: 254
ПРСДИСЛОВИЕ 9
Глава 1. Процесс компиляции 11
Глава 2. Опреlделение языка 27
Глава 3. Лексический анализ 57
Глава 4. Нисходящий синтаксический анализ 81
Глава 5. Восходящий синтаксический анализ 109
Глава 6. Семантический анализ 157
Глава 7. Рзспределение памяти 173
Глава 8. Генерация кода 197
Приложение А. Решения упражнений 223
Глоссарий 237
Литература 247
Предметный указатель 249