|
|
|
|
А.Ахо, Дж. Ульман«Теория синтаксического анализа, перевода и компиляции», т.1. (М.: Мир, |
|
|
ОТ
РЕДАКТОРА ПЕРЕВОДА
Перед читателями — перевод
фундаментального труда американских учёных А. Ахо
и Дж. Ульмана, трактующего широкий круг проблем, связанных с языками
программирования и методами их реализации на вычислительных машинах. Основой
для него до известной степени послужила большая серия статей по теории языков
и перевода, обнародованная авторами в различных научных журналах
в течение 4-5
предшествующих лет. Первый том посвящён теории
языков, общим вопросам теории перевода и (главным образом) методам
синтаксического анализа контекстно-свободных языков. Во втором томе
рассматриваются вопросы, более тесно связанные с реализацией языков, в
частности вопросы оптимизации анализаторов и объектного кода. На русском
языке уже имеется ряд изданий, касающихся этих тем или даже целиком посвящённых
им, но книга А. Ахо и Дж.
Ульмана сравнительно мало пересекается с ними. Причин этому две. Во-первых, здесь собран и систематизирован очень большой по объёму
материал — по широте охвата вопросов синтаксического анализа
контекстно-свободных языков книга, по-видимому, не имеет себе равных ни в
нашей, ни в зарубежной литературе. Во-вторых, авторы сосредоточили
основное внимание лишь на тех вопросах, которые уже нашли или могут найти
приложения на практике при создании компиляторов и других связанных с языками
частей математического обеспечения. Приятен стиль авторов,
значительно облегчающий чтение книги. Введение новых более или менее сложных
понятий и концепций начинается, как правило, с неформального их изложения и
примеров. При этом делаются намёки, которые позволяют лучше понять следующее
затем строгое, аккуратное и формальное построение. Описание многочисленных
алгоритмов построено по аналогичной схеме: сначала даётся неформальное
разъяснение сути их работы, затем чёткая формулировка алгоритма,
иллюстрируемая часто на примере, и, наконец, доказательство правильности
алгоритма. Каждый раздел заканчивается солидным списком задач различной
трудности — от чисто технических и учебных упражнений до нерешённых научных
проблем. Благодаря такому характеру изложения эту книгу, содержащую большой и
трудный материал, легко читать на любом уровне: поверхностного чтения (только
по неформальным и общим описаниям), знакомства с фактическим материалом
(определения, теоремы, алгоритмы), глубокого изучения (разбор или
воспроизведение доказательств, решение трудных задач). Для свободного
владения излагаемым материалом полезен разбор примеров и решение большинства
приводимых задач. В целом книга будет
интересной для широкого круга читателей: от студентов, изучающих основы
теории языков программирования, до специалистов — разработчиков систем
математического обеспечения и научных работников. Вместе с авторами можно
надеяться, „что алгоритмы и понятия, изложенные в этой книге, переживут
следующее поколение вычислительных машин и языков программирования и что хотя
бы некоторые из них найдут применение не только при построении компиляторов,
но и в других областях". В. М. Курочкин
|
|
|
|
|