Лексер, парсер і синтаксичне дерево
Коротко: Компілятор спершу читає початковий код як потік символів. Лексер розбиває його на токени, парсер за граматикою будує з них синтаксичне дерево (AST).
Докладніше: Лексер розпізнає слова, числа, оператори й дужки та ігнорує пропуски й коментарі. Парсер перевіряє, чи відповідають токени граматиці мови, і будує структуру, наприклад 1 + 2 * 3 як дерево, у якому множення міститься глибше.
Подробиці
- Токен: наприклад
IDENT(x), `NUMBER(42…
Див. також: проміжне подання та оптимізація компілятора, системи типів і виведення типів