Einen Interpretierer für die formale Sprache VgaA

Ich muss eine art Taschenrechner mit folgenden Anweisungen bilden

Die Syntax der Sprache ist wie folgt definiert:

Die Verarbeitung eines „Programms“ durch einen Interpretierer erfolgt typischerweise in mehreren Schritten:

1.Lexikalische Analyse:
Der Quelltext eines Programms wird zeichenweise eingelesen und die „Token“ gebildet. Alle in der Syntax verwendeten Operatoren und die Zahlen sind die Token von VgaA. Der Vorgang der lexikalischen Analyse heißt oft „scan“.

2.Syntaktische Analyse:
Die Tokenfolge aus der lexikalischen Analyse wird daraufhin geprüft, ob sie der Syntax der Sprache entspricht. Gegebenenfalls sind aussagekräftige Fehlermeldungen auszugeben, die dem Benutzer eine Korrektur erlauben. Für syntaktisch korrekte VgaA-Programme wird ein Syntaxbaum gebildet. Die Knoten des Baums repräsentieren die Operatoren während die Blätter den Zahlen vorbehalten sind. Der Vorgang der syntaktischen Analyse heißt oft „parse“.

3.Listen-Erzeugung:
Zur Kontrolle, ob der Syntaxbaum korrekt gebildet wurde, wird aus dem Syntax-Baum wieder ein syntaktisch korrekter Quelltext erzeugt und in eine Datei ausgegeben. Dieser Vorgang heißt oft „pretty print“

4.Interpretation:
Der durch den Syntaxbaum dargestellte arithmetische Ausdruck wird „ausgerechnet“. Das Ergebnis der Berechnung soll anschließend ausgegeben werden. Dieser Vorgang wird oft „interpret“ oder „evaluate“ genannt.

Eingabe:
Ihr Programm soll beliebig viele VgaAs verarbeiten können. Die Ausdrücke sollen über eine Datei eingegeben werden.

Ausgabe:
Fehlermeldungen, Listen, Ergebnisse der Interpretation.

Hinweis:
Überlegen Sie sich einige Beispiele für gültige VgaAs. Fertigen Sie zum Entwurf Ihrer Lösung ein UML-Klassendiagram an und beschreiben Sie Ihre Lösungsansätze für die einzelnen Schritte kurz (in wenigen Sätzen) umgangssprachlich.

Was genau ist hier Deine Frage? - Möchtest Du die Programmierung des gesuchten Interpreters?
In welcher Programmiersprache soll der Interpreter geschrieben werden? - Ich nehme an in Java, oder?
Wofür steht „VgaA“? Welche Informationen hast Du noch zu VgaA?

Hier mal kurz die antworten

Was genau ist hier Deine Frage? - Möchtest Du die
Programmierung des gesuchten Interpreters?

1.ja

In welcher Programmiersprache soll der Interpreter geschrieben werden? - Ich nehme an in Java, oder?

2.ja

Wofür steht „VgaA“? Welche Informationen hast Du noch zu VgaA?

  1. Vollständig geklammerte arithmetische Ausdrücke

--------------------Zahl-------------------------------->
|__________________________________________|
|–(—Zahl/VgaA—Operator—Zahl/VgaA—)---|