Suche Home Einstellungen Anmelden Hilfe  

Projektbericht

Aufgabenstellung:

Basierend auf der IUPAC-Nomenklatur soll ein (leicht erweiterbares) Programm konstruiert werden, das in der Schule vorkommende Stoffnamen der organischen Chemie in entsprechrnder Strukturformel umsetzt, die gegebenenfalls auch grafisch dargestellt werden können.

1. Phase - Analysieren der Aufgabenstellung:

Zuerst haben wir uns mit der IUPAC-Nomenklatur und dem Transfer der Formelsprache in ein Anschauungsmodell (Übersetzertechnik) auseinandergesetzt.
Beachten mussten wir, dass das Einlesen der Zeichenfolge (lexikalische Analyse) nicht zeichenweise erfolgt, sondern bedeutungsmäßig zusammengehörige Zeichen (z.B. "hex") als Zeichengruppen (Token) erfasst werden sollen.

Nach dem Einlesen der Zeichenfolge muss eine Überprüfung der Folge von Token auf deren syntaktische Korrektheit gemäß der aufgestellten Grammatik der Quellsprache realisiert werden (syntaktische Analyse).

Nun muss der Ableitungsbaum auf  Fehler untersucht werden, die nicht in der Grammatik beschrieben sind (semantische Analyse).

Damit sind alle Voraussetzungen gegeben, um den vorstrukturierten Ableitungsbaum in der Zielsprache erzeugen zu können (Code-Erzeugung für dei Zielprache).

Dieser erzeugte Code könnte jetzt (z. B. mit VRML) dreidimensional dargestellt werden.

2. Phase - Umsetzung der lexikalischen und syntaktischen Analyse mittels TP 7.0

Die erste Überlegung hierbei musste sein, dass die Datenstruktur eindeutig feststeht, da zwar stellenweise die Zeichenfolge gescannt, aber tokenweise erkannt bzw. geprüft werden soll. Wir verwendeten als Datenstruktur ein Array.

Um den gewünschten Code zu erhalten, mussten wir vorher überlegen, wie der Strukturbaum geschickt durchlaufen wird.

Folgendes Probleme traten dabei auf:

1. Da die Zeit nicht ausreichend zur Verfügung stand, konnte das Programm  nicht fertiggestellt werden. Für das verwendete Beispiel 2,3,5-trimenthylhexane (engl. Schreibweise) erfolgt eine korrekte syntaktische Analyse. Weitere Beispiele zeigten, dass im  Programm noch Fehlern auftauchen wie z. B. Erkennen der Zeichenstelle und damit verbunden eine falsche Tokenrückgabe .
2. Die Effizienz des Programmes kann noch erhöht werden.
 
 
 
 

Benutzer: gast • Besitzer: mthomas • Zuletzt geändert am: