Thread Modulempfehlung für Suchfunktion
(38 answers)
Opened by bianca at 2010-07-11 08:58 2010-07-19T13:27:54 bianca Nicht nur im großen in ganzen, mein Beispiel macht genau das. Es dient nur zur Veranschaulichung was ein rekursiver Parser macht. 2010-07-19T13:27:54 bianca "nur" ist hier etwas dehnbar. Er macht schon eine Menge und man kann die Struktur für fast alle Parser-Probleme verwenden, wenn man die Funktion es verstanden und verinnerlicht hat. 2010-07-19T13:27:54 bianca Ich Liefere einfach eine Array zurück. Genauso gut kannst du eine Komplexere Datenstruktur erzeugen. Auch musst du dich nicht darauf beschränken ein einzelnes Zeichen zu untersuchen, du kannst auch ganze Blöcke suchen und Bearbeiten. Um einen Parser schreiben zu können musst du dir ein Datenformat ausdenken und genau beschreiben. Mit allen Ausnahmen und Besonderheiten. Wenn du dir genau überlegst was du genau haben willst und wie die abhängigkeiten sind, fällt es nicht mehr sehr schwer das in Programmcode zu gießen. Um dir eine Hilfestellung zu geben. Ein Solcher String das AND Text OR was anderes AND ließe ich wie folgt strukturieren: (das AND (Text OR (was anderes AND Bla))) Bzw: Du hast zwei Befehle "und" (AND) und "oder" (OR) Ein "Befehl" setzt sich aus einem "Wert" gefolgt vom Befehlsnahmen und einem weiteren "Wert" zusammen Ein Wert kann ein Befehl oder ein "String" sein. Ein String ist eine Kette von Zeichen die weder "AND" noch "OR" enthalten. Die Gewichtig der Befehle ist von links nach rechts, das bedeutet, das der rechte "Befehl" höhre Priorität besitzt als der Linke. Edit: links<>rechts vertauscht, alter Fehler von mir... Last edited: 2010-07-19 16:00:37 +0200 (CEST) |