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