Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: JVRichEdit parsen - Hilfe?!
3. Okt 2006, 19:44
Hi Christian,
die Prozedur ParseString() implementiert einen Parser als Zustandsautomaten (Finite State Machine, FSM). Nach C-Manier wird der zu untersuchende String mit einem PChar-Zeiger (P) adressiert, der einfach per Zeigerarithmetik (Inc(P)) über den String geschoben werden kann. Da auf diese Weise immer nur ein Zeichen (P^) gesehen wird, die Grammatik aber die Zusammensetzung eines Smiley aus mehreren Zeichen erlaubt, muss sich der lexical analyser merken, welche Teil-Kombinationen er bisher erkannt hat (State). Auf diese Weise entfallen teure Stringvergleiche.
Hoffentlich habe ich mich einigermaßen verständlich ausdrücken können.
Grüße vom marabu
|