Компиляторы

Пишем лексер вручную

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
Пишем лексер вручную

0

1

Войти