Wenn du hier schon so fragen mußt, ist die Antwort recht einfach: Wahrscheinlich zu aufwändig für dich.
Ich meine das nicht böse, aber das was du da vorhast, wird sehr schnell sehr kompliziert.
Es ist nicht unmöglich, es ist ja schon gemacht worden (z.B. Matheguru oder Wolfram Alpha).
Aber andererseits: Je größer die Aufgabe, desto höher kann man wachsen. Also, warum nicht? Helfen werden wir bestimmt trotzdem, wenn du Fragen hast. Ich möchte aber den Rat von
@httpdigest nochmal bekräftigen: Setz dich hin, und überlege dir genau was du willst, überlege lange und gut. Schlafe auch ein paar Nächte drüber.
Überlege dir ein Konzept, was für Klassen bräuchtest du, was müssen die können. Schau dir vorhandene Konzepte an, wie die das gemacht haben. Parser sind eine relativ alte Technik, jeder Compiler parst den Quellcode erstmal, es gibt Parser für zig Dateiformate wie XML, CSV, JSON und noch zig andere. Vielleicht magst du dir da was abschauen. Es gibt auch einen Parser für mathematische Ausdrücke, mXparser. Deren Möglichkeiten kannst dir auch mal ansehen.
mathparser.org
Das Übel mit dem Parser könnte man auch ganz elegant umgehen, wenn man den Benutzer über eine GUI beschränkt. Du kannst dem Benutzer einen Formelklicker vorsetzen, wo er sich seine Funktion selber zusammenklicken kann. Wird der Benutzer mehr mögen, andererseits wird dann vieles einfacher. Du mußt nur noch nach Zahlen und Parametern und allenfalls noch nach den Grundrechenarten parsen, kannst aber häufige Ausdrücke wie Bruchstriche, e-Funktionen, Wurzeln, Potenzen, Klammern usw. als Graphikblöcke vorgeben und direkt schon hinterlegen, was in diesem Block passiert (und wie diese differenziert oder integriert werden).
Den Formeleditor von MS Word kennt man vielleicht, oder das hier:
https://www.zahlen-kern.de/editor/
Dann kommen noch allerhand Numerikprobleme auf dich zu...der Benutzer ist nunmal verwirrt, wenn er als Ergebnis '1' erwartet und der Rechner 0,99999999999999999999999999999999 anzeigt.