[ Inhalt ] [ Index ]

Next: Konkrete vs. abstrakte Syntax Up: Compilerbau Previous: Bottom-up-Analyse

Codeerzeugung

Im letzten Kapitel werden wir uns einen kleinen Einblick in dn Mechanismus der Codeerzeugung verschaffen. Nachdem wir das Quellprogramm auf syntaktische Korrektheit überprüft haben, muß noch getestet werden, ob auch gewisse Kontextbedingungen   eingehalten werden, wie z.B.

  1. alle verwendeten Identifikatoren werden vor ihrem Gebrauch deklariert
  2. die Operanden in Ausdrücken haben kompatiblen Typ
  3. Funktionen werden mit der korrekten Anzahl von Parametern aufgerufen
  4. die Typen von aktuellen und formalen Parametern sind verträglich

Für diese Überprüfungen bringt man den Syntaxbaum   in eine einfachere Form, bei der man viele Knoten, die nur syntaktische Informationen beinhalten, entfernen kann. Hier zahlt es sich aus, wenn man von einem syntaktisch korrekten Programm ausgehen kann, da so viele irreführende Semantikfehlermeldungen als Folge von Syntaxfehlern vermieden werden.

Der abstrakte Programmbaum wird dann zur Codeerzeugung (rekursiv) durchlaufen.






Next: Konkrete vs. abstrakte Syntax Up: Compilerbau Previous: Bottom-up-Analyse

Prof. Dr. Reinhard Völler