EMZETT.
Войти

Лексер, парсер и синтаксическое дерево

Коротко: Компилятор сначала читает исходный код как поток символов. Лексер разбивает его на токены, парсер по грамматике строит из них синтаксическое дерево (AST).

Подробнее: Лексер распознаёт слова, числа, операторы и скобки и игнорирует пробелы и комментарии. Парсер проверяет, соответствуют ли токены грамматике языка, и строит структуру, например 1 + 2 * 3 как дерево, в котором умножение находится глубже.

Подробности

  • Токен: например IDENT(x), `NUMBER(42…

См. также: промежуточное представление и оптимизация компилятора, системы типов и вывод типов