Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

В чём разница между парсером и лексером?

#лексер #парсер


Если я описал синтаксис языка программирования с помощью yacc-подобной утилиты,
то это парсер или лексер?
Как строго определяются эти термины?    


Ответы

Ответ 1



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

Комментариев нет:

Отправить комментарий