Aufgabe 9.1

Hier könnt ihr euch über die Inhalte der Übungsblätter austauschen und Fragen stellen.

Aufgabe 9.1

Beitragvon Zoro » 31 Dez 2013, 18:12

Guten Abend,

Ich verstehe nicht ganz, was "Multiplikation klammert weder nach rechts noch nach links" bedeutet.

Wenn ich Linksrekursion verwende, dann ist mein Operator linksassoziativ, wenn ich Rechtsrekursion benutze, dann ist mein Operator rechtsassoziativ, wenn ich Rechts- und Linksrekursion verwende (z.B. M => E*E), dann ist die Grammatik nicht mehr eindeutig.

Könnten Sie mir bitte erklären, was ich an dieser Stelle machen soll?

Bedeutet "weder nach rechts noch nach links" etwa: 1*(2*3) - falsch, (1*2)*3 - falsch, 1*2*3 - richtig, quasi keine Klammerung?

Vielen Dank.
Zoro
 
Beiträge: 4
Registriert: 02 Nov 2013, 12:55

Re: Aufgabe 9.1

Beitragvon Patrick.Speicher » 01 Jan 2014, 17:41

Muss die Grammatik eindeutig sein?
Patrick.Speicher
 
Beiträge: 1
Registriert: 16 Okt 2013, 19:49

Re: Aufgabe 9.1

Beitragvon Zoro » 02 Jan 2014, 21:12

Ja, so steht in der Aufgabestellung: "Geben Sie eine eindeutige, kontextfreie Grammatik für arithmetische Ausdrücke".

Ich bin mit dieser Aufgabe immer noch nicht weitergekommen. :)
Zoro
 
Beiträge: 4
Registriert: 02 Nov 2013, 12:55

Re: Aufgabe 9.1

Beitragvon PeterW » 02 Jan 2014, 22:44

Ich verstehe diese Aufgabenstellung so, dass die Multiplikation nicht fest nach links oder rechts klammert,
also beides sollte erlaubt sein.
Somit könnte deine Produktion zum Beispiel so aussehen:

P -> E | E * P |P * E

So zumindest meine Vermutung.

Liebe Grüße
Peter
PeterW
 
Beiträge: 8
Registriert: 19 Okt 2013, 19:53

Re: Aufgabe 9.1

Beitragvon Zoro » 02 Jan 2014, 22:53

Ja, da hast du wahrscheinlich Recht. Wenn wir klammern, dann wird es nur einen Ableitungsbaum für jeden einzelnen Ausdrück geben. (1*2)*3 und 1*(2*3) sind zwei verschiedene Ausdrücke und damit ist unsere Grammatik eindeutig.

Vielen dank! Selber würde ich auf diese Idee nicht kommen. :)

LG
Zoro
 
Beiträge: 4
Registriert: 02 Nov 2013, 12:55

Re: Aufgabe 9.1

Beitragvon gert.smolka » 04 Jan 2014, 15:43

"Multiplikation klammert weder nach rechts noch nach links" bedeutet, das "a*b*c" nicht zulässig ist für alle a,b und c.
gert.smolka
 
Beiträge: 8
Registriert: 15 Okt 2013, 18:04


Zurück zu Übungsblätter

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron