Weitere Vorgehensweise

koch
Dozentin/Dozent
Beiträge: 221
Registriert: 4. Jul 2005 11:08

Weitere Vorgehensweise

Beitrag von koch » 16. Jul 2007 19:31

Nachdem die aktuellen Abgaben ja noch viel Verbesserungspotential haben, hier einige allgemeine Tipps:

Gehen Sie bei der ast2ssa/dvnt/ssa2ast-Entwicklung methodisch vor

1) Erstmal nur eine Prozedur (z.B. Hauptprogramm) nur mit skalaren Variablen (Integer, Char etc.) richtig bearbeiten.

2) Erweitern auf Prozeduren zwar mit var-Parametern, aber ohne Zugriffe auf globale oder nichtlokale Variablen

3) Erweitern auf Prozeduren mit Zugriffen auf globale/nicht-lokale Variablen

4) Erweitern auf Arrays und Records. Tipp: Hier kann von der reinen SSA-Form abgewichen werden [es werden ja eh' alle Elemente als eine Variable behandelt]. Hauptsache es funktioniert sicher (=macht keine Ergebnisse kaputt), echte Optimierungen sind wegen der Vereinfachung ohnehin kaum möglich.

Wichtig ist, dass die von Ihnen realisierten Funktionen tatsächlich korrekt ablaufen. Damit kann ich (und auch in der Benotung Sie!) mehr anfangen, als wenn Sie haufenweise Funktionen realisieren, die aber nur unzuverlässig und fehlerbehaftet laufen.

Wenn Ihre vorigen Abgaben leidlich funktionieren (z.B. constantfold, elimconstcond), aber die neuen SSA und DVNT-Teile noch nicht: Stecken Sie Ihre Zeit in die neuen Teile und verzichten Sie beispielsweise zunächst auf das Einbauen immer weiterer algebraischer Regeln (x plus 0 = x, 1 mal x = x, etc.) in die ersten Phasen.

Zurück zu „Archiv“