[Allegro] Indexparameter aufs Neue

Thomas Berger ThB at Gymel.com
Di Sep 14 12:28:13 CEST 2010


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

Lieber Herr Eversberg,

>> Ich habe beide Blöcke zusammen in eine Datei gepackt (iu-utf8.gpr weil
>> einfacher). Das hilft alleine auch noch nicht, wenn der i-finug-Block vor den
>> anderen Zeilen steht (dahinter hat er gar keine Wirkung): Die *erste*
>> Ersetzung zählt, nicht die letzte (bei anderen Dateien ist das anders, z.B.
>> gilt bei Zwischenteilen immer die letzte Setzung).
>> Wenn ich die Sätze aber sortiere, so dass die Zeilen direkt untereinander stehen:
>>
>> P 195 131 A    [00C3] -- >Ãf<
>> P 195 132 Ä
>> P 195 132 AE   [00C4] -- >Ã"<
>>
> Wirklich 2x  195 132? Wenn ja, warum?

recht typische Situation: Man hat eine recht universelle Codiertabelle
in eine Datei ausgelagert, unmittelbar hinter deren Einbindung in eine
Parameterdatei werden dann einzelne Zeichen zurechtgerueckt (etwa weil
sie fuer einen konkreten Zweck escaped werden muessen).

"unmittelbar dahinter" ist dabei die Praxis, die sich fuer die regulaeren
p/q etc.-Tabellen etabliert hat: Damit funktioniert es, andersherum nicht.



>> dann funktioniert die Übersetzung wie gewünscht.
>> Es ist also kein Problem der Einbindung von Dateien, sondern der Abarbeitung
>> der P/Q-Liste, wobei man eigentlich davon ausgehen sollte, dass es keinen
>> Unterschied macht, wo
>> P 195 132 Ä
>> vor
>> P 195 132 AE
>> steht, das ist aber offenbar nicht so.
>> Ich vermute eine interne Heuristik, die das System in die Irre führt.
>>
> Eine solche gibt es nicht. Die P-Befehle werden sequentiell eingelesen
> und bilden eine lineare Liste.
> Die Codes werden darin sequentiell gesucht, oben beginnend.
> Wenn 2x  P 195 132  vorkommt, dann gilt deswegen nur der erste.

D.h. beim Aufbau der Liste oder unmittelbar danach, also jedenfalls im
Zusammenhang mit dem Einlesen der Parameterdatei etc., muesste auf
Dopplungen kontrolliert werden und die entsprechende(n) Vorgaengerzeile(n)
waeren auszutragen oder als ungueltig zu kennzeichnen.

Wenn Sie die "Liste" als Hash organsisieren, tut das bisherige serielle
Einlesen automatisch das gewuenschte und das Laufzeitverhalten sollte
sich auch wesentlich verbessern im Vergleich zum sequentiellen Durchsuchen
einer (bislang sogar) unsortierten Liste.

viele Gruesse
Thomas Berger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iJwEAQECAAYFAkyPTj0ACgkQYhMlmJ6W47PmdgQAnT97MCWG0mEayUmo80qwlYOO
DIWvCqwBOUGXyTwYlzWTb0jzd/lgXRXYlmYiXNTYLJPkC4aupKEpcLqScxY+SBl2
P6FaGbIETPq5mWuJGIAw9+1CsMJ6r9dm/W44Q+rBjUEJVCj/fBTP+IyEemCLkyc4
y3ClSWvdGHD88nML3Og=
=k8x2
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro