La maggior parte dei generatori di parser richiede che diversi operatori siano distinti nella fase di analisi lessicale. Se stai scrivendo il parser a mano, allora l'opzione va bene.
Se utilizzi un tipo di token universale per l'operatore, sarai (probabilmente) in grado di scrivere un parser di espressioni generali con i tuoi operatori (comprese le informazioni sulla precedenza) definiti in una struttura di dati (piuttosto che cablati nel codice del parser ), che potrebbe essere più utile se disponi di molti operatori e sarebbe essenziale se stai analizzando una lingua che consenta agli operatori definiti dall'utente.
L'utilizzo di un tipo di token separato per ciascun operatore consente di mantenere una distinzione più chiara tra gli stadi di analisi lessicale e sintattica (tradizionali) e può rendere più semplice per le altre persone (che hanno familiarità con lesseri e parser separati) per capire il tuo sistema.
In generale, penso che questa sia solo una scelta stilistica nella maggior parte dei casi.