ma insomma quel'e' la tua idea?:master:Originariamente inviato da Andrea Simonassi
No, il parsing richiede un flusso.
ma insomma quel'e' la tua idea?:master:Originariamente inviato da Andrea Simonassi
No, il parsing richiede un flusso.
E` una delle poche cose che so fare (gh)!
Il metodo piu` semplice e` strutturare l`espressione in un albero binario che ha per nodi le operazioni e per foglie gli operandi. Esempio:
1+2*3-4
E dalla radice effettui ricorsivamente:codice:- / \ + 4 / \ 1 * / \ 2 3
ramo_sinistro (op) ramo_destro
Naturalmente a questa struttura devi arrivarci tramite il parsing della stringa secondo le precedenze, pero` in senso contrario: prima spezzi tutte le somme algebriche, poi i prodotti (o le divisioni), e alla fine inserisci i singoli operandi. Su questa base puoi anche introdurre le parentesi.
Ciao.