Seite 1 von 1

Frage zu Aufgabe 4.1

Verfasst: 4. Feb 2012 19:18
von AlexanderF
hallo,

ich habe 2 Fragen zu Aufgabe 4.1

zuerst einmal ein kleiner Fehler, der mit aufgefallen ist:

statt
n := n - 1;
müsste es denke ich
n := n - 1
heißen, also ohne Semikolon,
da danach direkt ein end, und kein weiterer Befehl mehr folgt.


ok, zu meinen Fragen:

Verstehe ich es richtig, dass wir für die Aufgabe nur die Code Schablonen aus den Folien 8 bis 24 aus dem Foliensatz zur Codegenerierung verwenden sollen, ohne mögliche Optimierung für die while Command Code Schablone, Spezialisierte Schablonen für Sonderfälle, etc.?

und können wir für p bei der Codeschablone für Binäre Operatoren(Folie 24), wie bei den Variablen auch, einfach den Namen des Operators benutzen (also z.B. CALL gt, statt CALL PB +16 oder ähnlichem)

mit freundlichen Grüßen,
Alexander

Re: Frage zu Aufgabe 4.1

Verfasst: 5. Feb 2012 15:59
von Dennis Albrecht
bzgl. Semikolon:
http://www.d120.de/forum/viewtopic.php? ... 32#p138053

bzgl optimierten Schablonen:
Ich meine mich zu erinnern, dass Prof Koch in der Vorlesung meinte, dass wir die optimierten Schablonen für die Übung anwenden dürfen. Allerdings macht das keinen Unterschied für die Codegennerierung sondern erst zur Laufzeit, daher hab ich die originalen Schablonen genommen.

bzgl Primitives:
Ich hab die Namen der Funktionen genommen aus dem einfachen Grund, dass die Tabelle erst bei Aufgabe 2 steht und manche benötigten Befehle gar nicht in der Tabelle stehen (ein less-equal (<=) könnte man zwar in ein greater (>) umschreiben, aber für ein equal (=) haben wir keinen Primitive und ein and(not(greater(x;y));not(greater(y;x))) erschien mir etwas übertrieben :D ).

Gruß

Re: Frage zu Aufgabe 4.1

Verfasst: 6. Feb 2012 21:43
von hymGo
Sollen wir bei dieser Aufgabe Inlining vornehmen oder nicht? Oder ist es egal ^^

Re: Frage zu Aufgabe 4.1

Verfasst: 6. Feb 2012 23:03
von Dennis Albrecht
Da bei Aufgabe 2 Konstanten mit bekanntem Wert geinlined wurde, hab ich das auch bei der Aufgabe 1 gemacht.

Gruß

Re: Frage zu Aufgabe 4.1

Verfasst: 7. Feb 2012 11:58
von Jens Huthmann
Sie dürfen hier Inlining vornehmen, müssen es aber nicht.

Für die primitiven Routinen reicht ein CALL (sub,lt,...) aus.

Re: Frage zu Aufgabe 4.1

Verfasst: 8. Feb 2012 11:32
von AlexanderF
ich wollte kurz anmerken zu:

"bzgl optimierten Schablonen:
Ich meine mich zu erinnern, dass Prof Koch in der Vorlesung meinte, dass wir die optimierten Schablonen für die Übung anwenden dürfen. Allerdings macht das keinen Unterschied für die Codegennerierung sondern erst zur Laufzeit, daher hab ich die originalen Schablonen genommen."


Es macht auch für die Codegenerierung einen Unterschied,
(wie z.B. beim while Command, wenn man sich an die Vorlesung zurückerinnert).
Würde der selbe Code generiert werden, würde ja schließlich auch zur Laufzeit das selbe passieren.

Ich habe jetzt auch die originalen Schablonen genommen, also die auf den Folien 8ff verwendet.
Ich vermute, so war es auch gedacht?

mit freundlichen Grüßen,
Alexander