Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
11. Nov 2008
Hm, habs nu so gelöst das ich die Liste mit meiner Funktion immer nach einem Zeichnen dursuche und zwar in der Reihenfolge:
+,-,*,/,^,0..9
Wenn das Zeichen gefunden wird, schreibt er das Token in
PTBinaryNode : ^TBinaryNode;
TBinaryNode = record
Token:TToken;
RightNode:PTBinaryNode;
Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
10. Nov 2008
Die Liste sieht z.B. so aus:
3+3*8
TokenList.Items.Value:='3';
TokenList.Items.Token:=tkInteger;
TokenList.Items.Value:='+';
TokenList.Items.Token:=tkAdd;
TokenList.Items.Value:='3';
TokenList.Items.Token:=tkInteger;
Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
10. Nov 2008
Ein Binärbaum der aus Knoten besteht.
Diese bestehen aus ihrem eigenen Wert und nem Verweis auf die unteren Knoten.
z.b.
PTNode = ^TNode
Node = record
Token :TToken;
Left: PTNode;
Right: PTNode;
Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
10. Nov 2008
Naja ich habe eine TTokenList, diese besteht aus TToken
TToken besteht aus Value(String) und Token(TTokens = (tkUnknown,tkInteger,tkFloat,tkVar, tkAdd,tkSub,tkDiv,tkMul,tkBrOpen,tkBrClose,tkPotenz))
Diese Items der TTokenList muss ich nun anhand der Token dem binären Baum zuweisen.
Als erstes kommen die + Zeichen, dann die - Zeichen , dann *, dann / , dann ^ etc…
Der binäre Baum soll...
Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
10. Nov 2008
Das klappt auch wunderbar...am Ende hab ich dann halt alle Zahlen getrennt von den Zeichen...jedoch hab ich keine Ahnung wie ich daraus nen binären Baum baue...
Forum: Sonstige Fragen zu Delphi
Delphi
by Alaitoc,
10. Nov 2008
Tag zusammen,
ich habe eine Liste mit einem lexikanischen Scanner erstellt, in der Liste sind Objekte mit den Attributen Value und Token.
Jetzt will ich aber aus der Liste einen binären Baum erstellen, also parsen...
Also aus 3+4*3
wird: