Ma tâche est d'écrire une application (malheureusement sur C) qui lit l'expression en notation infixée (avec variables, opérateurs unaires et binaires) et de la stocker en mémoire, puis de l'évaluer. En outre, les contrôles d'exactitude doivent être effectués.Expressions d'écriture: Infix, Postfix et Préfixe
par exemple:
3 * (A + B) - (- 2-78) * 2 + (0 * A)
Après avoir obtenu toutes les valeurs, le programme devrait calculer il.
La question est: Quelle est la meilleure façon de le faire (avec optimisation et validation)
Quelle notation à choix que la base de l'arbre?
Devrais-je représenter l'expression comme un arbre? Si c'est le cas, je peux facilement l'optimiser (il suffit de laisser tomber les nœuds qui renvoient 0 ou rien d'autre).
Cheers,
D'excellentes réponses à cette question peuvent être trouvées dans: http://stackoverflow.com/questions/28256/equation-expression-parser-with-precedence –
Je ne sais pas pourquoi c'est dommage d'écrire en C. Je préfère aimer cette langue. – mrduclaw
Question de compilateurs/interprètes autoritaires: http://stackoverflow.com/questions/1669/learning-to-write-a-compiler – dmckee