#лексер #парсер
Если я описал синтаксис языка программирования с помощью yacc-подобной утилиты, то это парсер или лексер? Как строго определяются эти термины?
Ответы
Ответ 1
Разница между этими понятиями очень точная. Лексер распознает лексемы (токены). Например, если мы анализируем запись какого-то выражения, то отдельными токенами будут числа и знаки операций. На этом работа лексера заканчивается. Парсер же на основе списка токенов выполняет синтаксический анализ и далее уже строит какую-то модель на основании токенов, например, может построить дерево вычисления выражения.
Комментариев нет:
Отправить комментарий