Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

SunshineSunny

Sonnenscheinchen auf'm Campus

21

Tuesday, September 15th 2009, 3:20pm

also wenn du eine Reduce-Action hast, dann reduzierst du nach der Regel und schaust, welche Zahl (zustand) auf deinem Stack steht, also vor dem eben reduzierten Zeichen.
Dann schaust du in der Goto-Tabelle und guckst nach dem Nichtterminalen und dem Zustand und kannst dann den Folgezustand feststellen, das ist dann die Zahl die in der Goto-Tabelle bei dem Zustand und dem Nichtterminalen steht.

Hoffe das hilft weiter....
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen.
Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.

Kaos

Lesen, denken, flamen!

  • "Kaos" is male

Posts: 973

Date of registration: Oct 16th 2005

Location: Han. / Vahrenwald Sinnvolle Beiträge: 7

22

Tuesday, September 15th 2009, 7:42pm

Ich versuchs mal an einem Beispiel zu erklaeren... Aufgabe 4 Blatt 7:

Ausgangszustand:
[0, a@(a-a)%a$]

Wir sind im Zustand 0, und LA ist ein a. Wir gucken in der Tabelle nach, s1. Wir shiften also das a und schreiben die 1 auf die Linke Seite.
→ s1[0a1, @(a-a)%a$]

Nun sind wir im Zustand 1, LA ist ein @. Tabelle ergibt: r4. Wir gucken nach: Regel 4: S -> a Wir löschen also 2 Symbole und schreiben die Linke Seite der Grammatik-Regel dazu.
Damit ergibt sich also:
r4[0S, @(a-a)%a$] Dies ist allerdings ein Problem, weil wir so nicht wissen in welchem Teil der Tabelle wir nachgucken müssen, weil da ein S steht. Dafür gibt es die GOTO-Zeile und und dort steht in Zeile 0 (weil 0 vor dem S steht) eine 3.
r4[0S3, @(a-a)%a$]

Zustand 3, wir lesen ein @. -> S5
→ s5[0S3@5, (a-a)%a$]

Zustand 5 wir lesen eine (. -> S2
→ s2[0S3@5(2, a-a)%a$]

Zustand 2 wir lesen ein a. -> S1
→ s1[0S3@5(2a1, -a)%a$]

So, nun wirds nochmal interessant. Zustand 1 und wir lesen ein -. R4 Regel 4 kennen wa noch, 2 Löschen, S schreiben. S steht vorne, Links davon ne 2, wir gucken nach bei 2. GOTO-Teil bei S: 4.
→ r4[0S3@5(2S4, -a)%a$].

Soar... Ich hoffe an dem Beispiel wird relativ klar, wann man was dazu schreibt und wann nicht :)

Gruß

Kaos

Quoted

Man findet immer dort besonders viel Chaos, wo man nach Ordnung sucht. Das Chaos besiegt die Ordnung, weil es besser organisiert ist.

BJETIT

Praktikant

Posts: 14

Date of registration: Jan 16th 2009

23

Tuesday, September 15th 2009, 8:16pm

RE: Action / GOTO Tabellen

Kann mir da jemand mal einen Tipp geben, was den Reduce ablauf betrifft?
in der nächsten Zeile am Pfeil steht die Zahl zum reduce, aber wie komme ich dann auf den Zustand. Und wieso wird manchmal der Zustand aktuelle Zustand entfernt und manchmal einfach ein neuer dahinter geschrieben. da bei z.b. r6 nicht 2 mal das gleiche passiert muss es ja abhängig sein vom aktuellen zustand, aber ich finde keine Logik dahinter und das Script ist mir zu kryptisch.

Danke

Die Antwort auf deine Frage findest du formal im Skript auf Seite 71 unter Arbeitsschritt:

"Ist action[z,a]= reduce A -> alpha, dann lösche die obersten 2*|alpha| Einträge vom Stack. Sei z` der dann oberste Zustand auf dem Stack. Schreibe A und danach den Zustand goto [z`,A] auf den Stack. Gebe die Produktion A->alpha aus."

Sunny hat das wie immer gut erklärt :) :



Quoted

also wenn du eine Reduce-Action hast, dann reduzierst du nach der Regel und schaust, welche Zahl (zustand) auf deinem Stack steht, also vor dem eben reduzierten Zeichen.
Dann schaust du in der Goto-Tabelle und guckst nach dem Nichtterminalen und dem Zustand und kannst dann den Folgezustand feststellen, das ist dann die Zahl die in der Goto-Tabelle bei dem Zustand und dem Nichtterminalen steht.



Mit der Zahl (dem Zustand) auf dem Stack, meint Sie die Ziffer z`, die übrigt bleibt, wenn du vorab die rechte Seite einer Produktionsregel (inklusive der einzelnen dazugehörigen Zustände) vom Stack entfernt hast...

( Insgesamt wird also nicht nur alpha gelöscht, sondern 2*alpha, wegen den Zuständen! )

Du schreibst dann die linke Seite (das Nichtterminal) der vorher angewendeten Produktionsregel auf den Stack.

Danach schaust du in der Zeile des Zustandes z`in die Goto-Tabelle, um den nächsten Folgezustand festzustellen, den du wiederum auf den Stack schreibst.

This post has been edited 2 times, last edit by "BJETIT" (Sep 15th 2009, 8:31pm)


Siggi2k

Trainee

  • "Siggi2k" is male

Posts: 54

Date of registration: Nov 17th 2005

24

Tuesday, September 15th 2009, 10:02pm

ahh, das leuchtet dann doch noch ein, danke für das Beispiel, nun ist mir auch des Mathematische gewusel im Script etwas logischer geworden :-)
Is doch schön das hier doch noch manche aktiv sind :-)

AlexL

Junior Schreiberling

  • "AlexL" is male

Posts: 222

Date of registration: Feb 10th 2008

Location: Walsrode

Occupation: Master Informatik

25

Wednesday, September 16th 2009, 7:28pm

ein ml programm muss man nicht schreiben können oder? also "lesen" geht ja noch, aber schreiben müsst man üben :(
Heut angefangen zu lernen, bin nu bei parsing tabellen. passt ja perfekt dass es hier erklärt ist *g*

26

Wednesday, September 16th 2009, 7:58pm

Heut angefangen zu lernen


Streber.

GentleGiant

Hamster Inside(R)

  • "GentleGiant" is male

Posts: 283

Date of registration: Oct 3rd 2006

Location: Bad Oeynhausen

Occupation: Software-Entwickler bei Diamant Software

27

Thursday, September 24th 2009, 10:12am

Ergebnisse stehen auf http://www.psue.uni-hannover.de

Yusuf

Trainee

  • "Yusuf" is male

Posts: 53

Date of registration: Oct 7th 2007

Location: aus meiner Heimat :D

28

Thursday, September 24th 2009, 10:12am

Klausurergebnisse sind draußen

Es gibt keine dummen Fragen, wer nicht fragt der bleibt DUMM!!!!

AlexL

Junior Schreiberling

  • "AlexL" is male

Posts: 222

Date of registration: Feb 10th 2008

Location: Walsrode

Occupation: Master Informatik

29

Thursday, September 24th 2009, 10:29am

ja wenn man jetzt noch die prüfnr. wüsste..... ;(

30

Thursday, September 24th 2009, 11:41am

ja wenn man jetzt noch die prüfnr. wüsste..... ;(


Dazu gab's doch extra den Zettel wo man das drauf abschreiben sollte und wo dick drauf stand den gut zu bewahren. 8|

AlexL

Junior Schreiberling

  • "AlexL" is male

Posts: 222

Date of registration: Feb 10th 2008

Location: Walsrode

Occupation: Master Informatik

31

Thursday, September 24th 2009, 11:51am

da stand aber nicht "an stelle aufbewahren wo man ihn wiederfindet" :p

hamena314

Zerschmetterling

  • "hamena314" is male

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

32

Thursday, September 24th 2009, 12:09pm

Messi :D
Da die Einsicht bereits morgen früh ist würde ich fast sagen dass es am einfachsten ist wenn man hingeht und sich überraschen lässt.

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)