Оглавление
Лексический анализ
-
Лексический анализ
- Лексический анализ разбивает текст на последовательность лексем, соответствующих словам или символам.
- Лексические средства могут пропускать или добавлять токены для упрощения синтаксического анализа.
-
Генераторы лексеров
- Генераторы лексеров автоматизируют процесс создания лексера, используя регулярные выражения и разметку.
- Генераторы лексеров, такие как lex и flex, широко используются для быстрой разработки и поддержки изменений в спецификации языка.
-
Производительность и оптимизация
- Производительность лексера важна для стабильных языков, где он запускается часто.
- Современные генераторы лексеров могут быть быстрее, чем написанные вручную лексеры.
-
Структура фразы
- Лексический анализ группирует символы в лексемы, классифицируя их.
- Лексические средства могут опускать или добавлять токены для упрощения синтаксического анализа.
-
Продолжение строки
- Некоторые языки используют символ новой строки для обозначения конца инструкции.
- Лексеры могут удалять символ новой строки и продолжать следующую строку.
-
Вставка точки с запятой
- Во многих языках точка с запятой используется для завершения инструкции.
- Лексеры могут вставлять точку с запятой, даже если она отсутствует в исходном тексте.
-
Правило “вне игры”
- Лексеры могут поддерживать состояние отступов для определения блоков в языках с отступами.
- Это требует контекстно-зависимой лексики и усложняет реализацию лексера.
-
Контекстно-зависимая лексика
- Лексические грамматики обычно не зависят от контекста, но есть исключения, требующие контекстной информации.
- Примеры включают вставку точки с запятой и объединение строковых литералов.
-
Рекомендации
- Ссылки на книги и ресурсы для изучения лексического анализа и генераторов лексеров.
Полный текст статьи: