"Джек Креншоу. Давайте создадим компилятор! " - читать интересную книгу автора

Джек Креншоу


Давайте создадим компилятор!


ВВЕДЕНИЕ

Эта серия статей является руководством по теории и практике разработки
синтаксических анализаторов и компиляторов языков программирования. Прежде
чем вы закончите чтение этой книги, мы раскроем все аспекты конструирования
компиляторов, создадим новый язык программирования, и построим работающий
компилятор.
Хотя я по образованию и не специалист в компьютерах, я интересовался
компиляторами в течение многих лет. Я покупал и старался разобраться с
содержимым практически каждой выпущенной на эту тему книги. И, должен
признаться, это был долгий путь. Эти книги написаны для специалистов в
компьютерной науке и слишком трудны для понимания большинству из нас. Но с
течением лет часть из прочитанного начала доходить до меня. Закрепить
полученное позволило то, что я начал самостоятельно пробовать это на своем
собственном компьютере. Сейчас я хочу поделиться с вами своими знаниями.
После прочтения этой книги вы не станете ни специалистом, ни узнаете всех
секретов теории конструирования компиляторов. Я намеренно полностью
игнорирую большинство теоретических аспектов этой темы. Вы изучите только
практические аспекты, необходимые для создания работающей системы.
В течение всей книги я буду проводить эксперименты на компьютере, а вы
будете повторять их за мной и ставить свои собственные эксперименты. Я буду
использовать Turbo Pascal 4.0 и периодически буду включать примеры,
написанные в TP. Эти примеры вы будете копировать себе в компьютер и
выполнять. Если у вас не установлен Turbo Pascal вам будет трудно следить за
ходом обучения, поэтому я настоятельно рекомендую его поставить. Кроме того,
это просто замечательный продукт и для множества других задач!
Некоторые тексты программ будут показаны как примеры или как
законченные продукты, которые вы можете копировать без необходимости
понимания принципов их работы. Но я надеюсь сделать гораздо больше: я хочу
научить вас КАК это делается, чтобы вы могли делать это самостоятельно, и не
только повторять то что я делаю но и улучшать.
Такую задачу не решить на одной странице. Я попытаюсь сделать это в
нескольких статьях. Каждая статья раскрывает один аспект теории создания
компиляторов и может быть изучена в отдельности от всех других. Если вас в
настоящее время интересует только какой-то определенный аспект, тогда вы
можете обратиться к нужной статье. Каждая статья будет появляться по мере
завершения, так что вы должны дождаться последней для того, чтобы считать
себя закончившими обучение. Пожалуйста, будьте терпеливы.
В общем, каждая книга по теории создания компиляторов раскрывает
множество основ, которые мы не будем рассматривать. Типичная
последовательность:
∙ вступление, в котором описывается что такое компилятор.
∙ одна или две главы, описывающие задание синтаксиса с использованием
формы Бэкуса-Наура (БНФ).