Modul 8

hstr
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 14. Apr 2011 22:52

Modul 8

Beitrag von hstr »

Hallo,
weiß jemand wieso wir auf Folie 9, links im Baum die Kalkülregel ar+1 und nicht ar+2 verwendet haben?

VG

barracuda317
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 187
Registriert: 12. Okt 2011 18:15

Re: Modul 8

Beitrag von barracuda317 »

\(<(2*3)+1, \sigma> \rightarrow_1 6+1\) hat die Form \(<a1 + a2, \sigma > \rightarrow_1 a1' +a2\) Das ist ar+1

Wenn du ar+2 verwenden willst, muss \(a1 \in N\) sein, da ar+2 folgende Form fordert: \(<n1 + a2, \sigma > -\rightarrow_1 n1 +a2'\). Hier bleibt n1 also gleich.

Da \((2*3) = a1\) aber noch keine Zahl ist, ist die Bedingung nicht erfüllt, du darfst ar+2 hier also nicht verwenden.

hstr
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 14. Apr 2011 22:52

Re: Modul 8

Beitrag von hstr »

Danke für die Antwort, ich dachte man kann n1 und a2 in ar+2 einfach vertauschen.
Aber das kann man wohl nicht, da es der Links-nach-Rechts Auswertungsstrategie entspricht.
Um sicher zu gehen, ich könnte aber hier die Kalkülregel ar+2' (Folie 12) verwenden, richtig?

barracuda317
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 187
Registriert: 12. Okt 2011 18:15

Re: Modul 8

Beitrag von barracuda317 »

hstr hat geschrieben:Danke für die Antwort, ich dachte man kann n1 und a2 in ar+2 einfach vertauschen.
Aber das kann man wohl nicht, da es der Links-nach-Rechts Auswertungsstrategie entspricht.
Um sicher zu gehen, ich könnte aber hier die Kalkülregel ar+2' (Folie 12) verwenden, richtig?
Ich habe nix gefunden, was dagegen spricht.

null
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 168
Registriert: 21. Apr 2012 14:58

Re: Modul 8

Beitrag von null »

Verstehe ich es richtig, dass ar+1 nur dann angewandt werden kann, wenn auf beiden Seiten ein gleicher Term steht. In unserem Beispiel wäre das die 1. Diese steht auf beiden Seiten, sodas ich ar+1 anwenden kann. Mathematisch würde das einfach einer Subtraktion von 1 auf beiden Seiten entsprechen.

Damit ich ar+1 anwenden kann, forme ich ich ar=>1 den Ausdruck erst so um, dass auf beiden Seiten ein identischer Ausdruck zum Vorschein kommt.

Verstehe ich das richtig?

M.Schanz
Mausschubser
Mausschubser
Beiträge: 45
Registriert: 19. Okt 2010 19:44

Re: Modul 8

Beitrag von M.Schanz »

hstr hat geschrieben:Danke für die Antwort, ich dachte man kann n1 und a2 in ar+2 einfach vertauschen.
Aber das kann man wohl nicht, da es der Links-nach-Rechts Auswertungsstrategie entspricht.
Hier kommt wieder der Unterschied zwischen Syntax und Semantik ins Spiel. n1 + a2 ist der syntaktische Ausdruck auf den die Regel angewendet werden kann, n1+a2' (mit Strich am Ende) ist die semantische Auswertung. Da wir ja wissen dass + kommutativ ist könnte man hier sicher auch a2'+n1 schreiben.

@null: Sorry, aber nach mehrmaligem durchlesen deiner Frage habe ich immer noch nicht verstanden was du meinst. Was meinst du mit "beiden Seiten"?

Antworten

Zurück zu „Archiv“