Premetto che non mi sono mai cimentato nel fare un parser algebrico (di ciò si parla) , ma ho qualche idea (forse campata per aria o addirittura sbagliata) su come potrebbe essere strutturato..
Penso che un parser debba procedere similmente così:
- ottiene in input la stringa "espressione"
- costruisca una sorta di albero a partire dall'espressione , seguendo le priorità degli operatori , sulla linea della notazione polacca
-partendo dalle foglie dell'albero creato risale e "computa" man mano l'espressione

Non ho ben letto la risorsa che sto per linkarti ma fa un accenno alla notazione polacca e abbozza anche qualcosa in linguaggio java a riguardo link