si tu veux gérer des variables, faut utiliser 1 table des symboles (en gl une table de hachage)
Pour les opérations, tu peux utiliser un arbre binaire avec comme racine l'opérateur et les 2 opérandes à gauche et à droite.
Pour faire l'analyse de ton expression, le + simple est d'utiliser des outils genre lex/yacc. pendant l'anlyse, tu construis ton arbre binaire et remplis la table des symboles