[DSAL] Arithmetische Terme - Was macht getChar() in ReadTerm()

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

Arithmetische Terme - Was macht getChar() in ReadTerm()

Beitragvon jypdtonga » 18.07.13 16:02

Hi,

Wollte nachfragen was macht getChar() in ReadTerm() ?

Ich hatte es so verstanden das es einfach "den nächsten" char ließt, aber das kann es nicht sein denn zb bei dem Term A + B würde folgendes passieren:

ReadTerm()
  ReadProduct()
    ReadFactor()
    -> getChar() = A
  -> getChar() = +
-> getChar() = B

=> Dann würde aber die while schleife in ReadTerm() sofort Terminieren da B != '+' oder '-' und als Ergebnis von ReadTerm von "A + B" käme einfach nur der Node A heraus..

Ich tippe mal ich habe hier irgendwo einen Denkfehler, hoffe jemand kann mir helfen :)
jypdtonga
 
Beiträge: 4
Registriert: 10.02.13 02:24
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 10/11
Anwendungsfach: BWL

Re: Arithmetische Terme - Was macht getChar() in ReadTerm()

Beitragvon MikeKremer » 22.07.13 18:01

Hi!

Das getChar() in ReadTerm() liest tatsächlich nur jeweils den Operator zwischen zwei Literalen.
Auf den Term "A + B" angewendet, würde ReadTerm() also den folgenden Baum zurückgeben:

Node(Node(Create(), "A", Create()), "+", Node(Create(), "B", Create())).

Ich hoffe, damit ist Dir geholfen.

Viele Grüße,
Mike
MikeKremer
 
Beiträge: 2
Registriert: 03.04.13 16:11
Anwendungsfach: Bio

Re: Arithmetische Terme - Was macht getChar() in ReadTerm()

Beitragvon jypdtonga » 01.08.13 21:05

Hm leider hilft mir das noch nicht wirklich ;)

Denn wie kann ich dann das verstehen:

Bild

Für mich sieht das da so aus als ob getChar() etwas ließt dass dann in c gepackt wird.

Dann wird geprüft ob die Buchstaben 'a', 'b', ..., 'z' in c stecken.

Diese abfrage würde aber keine sinn machen wenn getChar immer nur Operatoren zurückgibt...?
jypdtonga
 
Beiträge: 4
Registriert: 10.02.13 02:24
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 10/11
Anwendungsfach: BWL


Zurück zu Praktische Informatik