Ho la seguente semplice parser espressione:numeri analisi con più cifre in Prolog
expr(+(T,E))-->term(T),"+",expr(E).
expr(T)-->term(T).
term(*(F,T))-->factor(F),"*",term(T).
term(F)-->factor(F).
factor(N)-->nat(N).
factor(E)-->"(",expr(E),")".
nat(0)-->"0".
nat(1)-->"1".
nat(2)-->"2".
nat(3)-->"3".
nat(4)-->"4".
nat(5)-->"5".
nat(6)-->"6".
nat(7)-->"7".
nat(8)-->"8".
nat(9)-->"9".
Tuttavia questa supporta solo i numeri 1 cifra. Come posso analizzare i numeri con più cifre in questo caso?
Quale prologo stai usando? I miei non hanno il "->" pensa iirc. (SWI-Prolog) – InsertNickHere
Sto usando anche SWI-Prolog ^^ – ubuntudroid
Huh. Dovrebbe essere: - invece? * scratchhead * – InsertNickHere