Xuan Hoa Nguyen

Erweiterte Anwendung des Shunting Yard Algorithmus zur Übersetzung von speziellen SQL-Ausdrücken

Betreuer: Klaus Kriegel
Abschluss: Bachelor of Science (B.Sc.)
Abgabedatum: 11.09.2017

Kurzbeschreibung

Dijkstra's Shunting Yard Algorithmus (dt. Rangierbahnhof Algorithmus) überführt mathematische Terme von der Infixnotation in die umgekehrte polnische Notation. Der ursprüngliche Shunting Yard Algorithmus ist jedoch nur eine effiziente Methode, um einfache mathematische Terme mit binären Operationen zu konvertieren. Für komplexere Terme, wie z.B. Funktionen mit mehreren Parametern, muss der Algorithmus erweitert werden.

Im Rahmen der Bachelorarbeit soll die Erweiterung zweistufig erfolgen. Die erste Stufe vervollständigt und erweitert die Grundidee des Algorithmus dahingehend, dass weitere mathematische Ausdrücke in umgekehrte polnische Notation überführt werden.

In der zweiten Stufe soll der Algorithmus CASE-WHEN Ausdrücke, die in einer SQL Abfrage auftreten, in abstrakte Syntaxbäume umwandeln. Aus einem abstrakten Syntaxbaum wiederum lässt sich ein Programmcode für semantisch äquivalente Ausdrücke in verschiedenen Programmiersprachen erzeugen.