Вы не должны разделять их. Люди объединяют их в парсеры без сканера .
Ключевым недостатком синтаксических анализаторов, по-видимому, является то, что результирующие грамматики являются довольно сложными - более сложными, чем соответствующая комбинация регулярного выражения, выполняющего лексирование, и контекстно-свободной грамматики, выполняющей анализ потока токенов. В частности, грамматики для анализа без сканирования имеют тенденцию к двусмысленности. Устранить двусмысленность грамматикам, работающим с потоком токенов.
Прагматичным преимуществом использования выделенной фазы лексирования является то, что вы не связываете последующий анализатор с лексическими подробностями. Это полезно во время ранней разработки языка программирования, когда лексические и синтаксические детали все еще часто меняются.