[Allegro] String-Recherche

Thomas Berger ThB at Gymel.com
Mi Sep 5 15:30:23 CEST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Eversberg,


Bernhard Eversberg wrote:
> Thomas Berger schrieb:
>>
>> Dummerweise enthaelt die Flexsprache nur eine Konstruktion fuer
>> "Volltextsuche im aktuellen Datensatz", fuer "Volltextsuche in
>> einer Ergebnismenge" muss man eine recht komplexe Schleife bauen,
>> denn man stoesst schnell auf das alte Desiderat, dass es keine
>> gute Unterstuetzung gibt, aus einer Ergebnismenge flex-gesteuert
>> eine zweite aufzubauen.
>>
> Dazu gibt es die "externe Erg.Menge", die aus einer Liste von
> Satznummern besteht, mit "read set <filename>" einzulesen, wobei die
> erste Zeile der Datei als Name der Erg.Menge dient, d.h. bei ihrer
> Anlegung als Datei kann man ihr sofort auch den Namen verpassen.
> 
> Eine Erg.Menge liegt nun mal nicht als Ganzes und als solche im
> Arbeitsspeicher vor, sondern nur als Nummernliste, und sie kann
> nur satzweise eingelesen werden. Die Schleife dafür ist recht einfach,
> nicht "recht komplex". Das alles noch in einen Super-FLEX-Befehl zu
> verkapseln, na ich weiß nicht. Die Unterprogrammtechnik ist so
> schlecht auch wieder nicht, und damit reduziert sich dann der
> Vorgang auf einen perf-Aufruf.

Ich dachte hierbei v.a. an Anwendungen mit Avanti: Da ist es
etwas schmerzhaft, sich die Rohdaten erst einmal (gefeldert)
liefern zu lassen, mit der Zeichensatz-Konversion zu kaempfen,
darauf dann einen richtig maechtigen Regexp loszulassen und
die Saetze zu den uebrigbehaltenen Satznummern dann formatiert
erneut anzufordern.

Es gibt ja Praezedenzfaelle fuer das Filtern, also Operatoren,
die aus Ergebnismenge plus Operator eine zweite Ergebnismenge
bauen:

find <Restriktion>   (nur Avanti!)

find &

find +Zeichenfolge   (exakte Zeichenfolge suchen)

aber eben nicht die Regexp-Suche
find _..._ bzw. find ,...,


viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG3q9uhKFJT0F1FsoRAn9EAJ9hxvHKIk0VcBr6MzIKhZqyUCcoyACeM9TO
8fQtZFf94E/DNZKzccegujs=
=2J9N
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro