L'objet de votre projet consiste à réaliser un éditeur d'équations mathématiques, similaire à celui que l'on peut trouver dans certains traitements de textes connus. Vous vous attacherez à créer une représentation interne de votre objet accompagnée des opérations qui permettent de la modifier. Au niveau visuel, vous aurez une autre structure de donnée de surface qui sera reliée à la structure interne. Vous devrez constamment naviguer entre les deux plans.

Votre programme devra être évolutif : au départ, il prendra en charge uniquement les opérations algébriques simples. Ensuite vous ajouterez des objets complexes qui seront définis par des templates (patrons) : vous pourrez avoir un template pour une somme (\(\sum\)) ou pour une fraction \((\frac{a}{b}\)).

Votre programme devra exporter la formule saisie soit au format LATEX, soit au format MathML.