Сканер просто превращает входную строку (скажем, файл) в список токенов. Эти токены представляют такие вещи, как идентификаторы, скобки, операторы и т. Д.
Анализатор преобразует этот список токенов в древовидный объект, чтобы представить, как токены соединяются вместе, образуя связное целое (иногда называемое предложением).
В терминах синтаксических анализаторов языка программирования вывод обычно называется абстрактным синтаксическим деревом (AST). Каждый узел в AST представляет отдельную конструкцию языка, например, оператор IF будет узлом с 2 или 3 подузлами, узлом CONDITION, узлом THEN и, возможно, узлом ELSE.
Парсер не дает узлам никакого значения, кроме структурной сплоченности. Следующее, что нужно сделать, это извлечь значение из этой структуры (иногда называемой контекстным анализом).