Компиляторы
Пишем лексер вручную
TODO: Зачем это нужно? Захватывающее введение.
- **TODO:** Практический пример 1
- **TODO:** Практический пример 2
- **TODO:** Практический пример 3
State Machine
**TODO:** Описание концепции "State Machine".
**TODO:** Ключевая информация по теме.
TODO: Вопрос для проверки понимания?
Lookahead
**TODO:** Описание концепции "Lookahead".
**TODO:** Ключевая информация по теме.
TODO: Вопрос для проверки понимания?
Error Recovery
**TODO:** Описание концепции "Error Recovery".
**TODO:** Ключевая информация по теме.
TODO: Вопрос для проверки понимания?
Unicode
**TODO:** Описание концепции "Unicode".
**TODO:** Ключевая информация по теме.
TODO: Распространённое заблуждение
TODO: Правильное понимание
TODO: Объяснение почему
TODO: Вопрос для проверки понимания?
Ключевые идеи
- **TODO:** Главная мысль 1
- **TODO:** Главная мысль 2
- **TODO:** Главная мысль 3
Связанные темы
Ручной лексер - скорость и контроль. Дальше:
- Lexer generators — Альтернатива: генерация автомата вместо ручного кода
- Context-free grammar — После токенов парсер строит дерево по CFG
Вопросы для размышления
- TODO: Вопрос для размышления 1?
- TODO: Вопрос для размышления 2?
- TODO: Вопрос для размышления 3?
Связанные уроки
- comp-06-lexer-basics — Lexer concepts before building one by hand
- comp-07-regex-in-lexer — Regex patterns used in hand-coded state machines
- comp-09-lexer-generators — Contrast hand-written with generated lexers
- fl-06-dfa — Hand-coded lexer implements DFA transitions explicitly
- plt-24-lexer