Quando ho iniziato a usare i combinatori parser la mia prima reazione è stata un senso di liberazione da quella che sembrava una distinzione artificiale tra analisi e lexing. All'improvviso tutto stava solo analizzando!
Tuttavia, recentemente mi sono imbattuto in questo post su codereview.stackexchange che illustra qualcuno che ripristina questa distinzione. All'inizio ho pensato che fosse molto sciocco da parte loro, ma poi il fatto che in Parsec esistano funzioni per supportare questo comportamento mi porta a interrogarmi.
Quali sono i vantaggi / gli svantaggi dell'analisi su un flusso già lessato nei combinatori parser?