flex & bison
Книга представляет собой практическое руководство по использованию инструментов Flex и Bison для создания лексических анализаторов (сканеров) и синтаксических анализаторов (парсеров). Автор, Джон Р. Левин, подробно объясняет, как с помощью регулярных выражений и контекстно-свободных грамматик (BNF) строить эффективные компиляторы, интерпретаторы и другие программы, работающие с формальными языками.
Первая часть книги знакомит с основами: написание первого сканера на Flex, объединение Flex и Bison, работа с токенами и грамматиками. Далее рассматриваются продвинутые возможности Flex, включая обработку неоднозначных шаблонов, контекстно-зависимые токены, управление файловым вводом/выводом и использование таблиц символов.
Вторая часть посвящена Bison: детально описывается механизм shift/reduce парсинга, LALR(1) грамматики, построение абстрактных синтаксических деревьев (AST), разрешение конфликтов и обработка ошибок. Приводятся примеры создания калькулятора и парсера SQL.
Книга содержит множество практических примеров кода, упражнения и справочные разделы по синтаксису Flex и Bison. Она будет полезна разработчикам, изучающим компиляторы, а также всем, кто работает с парсингом данных и языков программирования.
