a99: Endloser Index

Roland Henkel rhenkel at snafu.de
Fr Dez 7 02:14:10 CET 2001


Liebe Liste,

gelegentlich entsteht bei mir in a99 ein endloser Index, das heißt, die
Schlüssel werden immer wieder von A-Z wie ein Endlosband angezeigt.

Markant dabei ist, daß zwischen zwei Wiederholungen der Schlüsselfolge ein
leerer Schlüssel (d.h. es steht nur eine Trefferzahl da) steht, den ich
bewußt nicht erzeugt habe.

Ich gehe davon aus, daß das eine Folge eines Fehlers in der *.xpi ist. Vor
allem habe ich den Verdacht, daß mehrere Schlüsselbildungen in einem
Abschnitt oder in einer Schleife mit Hilfe von #t{8}, p{8} oder P{8} bei
ungüsntigen Kat.-Belegungen zu solchen Effekten führen können, zumal, da am
Ende eines solchen Abschnitt,
also bei #+#,  ja doch wohl implizit noch ein t{8} gesetzt wird.

So könnte schon die Folge

#-x
xyy p"|2" P{8}
vzz p"|4" P{8}
#+#

möglicherweise zu solchen leeren Schlüsseln führen,

#-x
xyy p"|2" P{8}
vzz p"|4"
#+#

aber nicht.

Wenn ich mich mit dieser Problematik trotzdem an die Liste wende, statt
emsig meine Fehler zu suchen, dann deswegen, weil bei presto dieser endlose
Index (bei denselben Indexparametern, versteht sich) nicht auftritt.

Ich teste aus verschiedenen Gründen gerne mit presto und bin dann freilich
etwas überrascht, wenn a99 sich etwas anders verhält.

Gibt es vielleicht eine Möglichkeit, leere Schlüssel überhaupt zu
eliminieren? Denn die Notwendigkeit, bei Schleifenbildungen und der
komplexen Erzeugung mehrerer Schlüssel in einem Parameter-Abschnitt immer
darauf zu achten, daß der zuletzt gebildete Schlüssel unter allen denkbaren
Kategorienbelegungen nicht mit 8 abgeschlossen wird, unterminiert jede
Algorithmisierung.

Das ist etwa so, als wollte man in einem Programm Textzeilen mit Newline am
Ende ausgeben und müßte immer darauf achten, daß die letzte ausgegebene
Zeile kein newline haben darf. So etwas ist ausgesprochen
schleifenfeindlich, weil man für die Ausnahme "letzter Satz" immer noch
einen extra Test braucht.


Bei der Gelegenheit noch eine Frage:
Was passiert, wenn man an das Ende eines solchen Abschnittes #+- setzt?
Werden alle Schlüssel, die bis dato gebildet und mit 8 abgeschlossen wurden,
verworfen oder bleiben sie erhalten und die Verabeitung wird nur nicht
weiter fortgesetzt. Oder anders gefragt: werden die Schlüssel erst am Ende
des Abschnittes geschrieben oder sobald ein t{8} gefunden wird?


Viele Grüße
R. Henkel





Mehr Informationen über die Mailingliste Allegro