Considera tale codice (diciamo che è C ++)
Foo::Bar.get().X
Come si dovrebbe mantenere l'AST per questo - come "albero" con radice a sinistra Foo(Bar(get(X)) , o con radice a destra (((Foo)Bar)get)X ? O forse come una struttura piatta (elenco)?
Il primo sembra più conveniente quando si risolvono i nomi, il secondo quando si lavora con esso come espressione.
Ho impostato il tag parsing , ma mi sto chiedendo davvero dall'analisi semantica di POV (non esiste tale tag).