[Allegro] 'ik,x' und '#ik,x A' [war: Absturz von A99]

Thomas Berger ThB at Gymel.com
Sa Apr 2 01:03:30 CEST 2011


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

Lieber Herr Allers,

> T. Berger empfiehlt:
> 
>> Nach Manipulationen am Arbeitstext sollte man Indikatortests
>> tunlichst unterlassen, um nicht Ueberraschungen zu erleben. ...
> 
> Haben Sie ein nachvollziehbares Beispiel für eine eine derartige Überraschung bietende Parametrierung? 
> Wenn ja, dann müßte das halt auf die Liste der Corrigenda.

Schwierig, weil ich nicht funktionierenden Code nicht aufbewahre.

Insgesamt ist es schwierig, weil unter der allegro-Haube da einiges
an Magie ablaeuft, insbesondere bei #u1 und #cc und #ch: Dort ist
mit i1 ja nicht das "u" bzw. "c" abtestbar, sondern das Zeichen,
das die Originalkategorie dort hat. Und dies - im Fall von #u1 -
ja sogar dann, wenn ein ak-Statement diese Originalkategorie in
verschiedene Einzelteile zerlegt hat.

Allegro hat also irgendwelche Kriterien, fuer welche Zeichenpositionen
auf den Inhalt des Arbeitstexts zu testen ist und fuer welche auf
einen ganz anderen Bereich des Kategoriespeichers. Nach meiner
Erinnerung geht der Zugriff auf die Kategorienummer per i-Befehl schon bei
zerlegenden ak-Statements schief, wenn man ~zu heftig~ manipuliert
(etwas damit zusammenhaengendes hatten wir erst vor ein paar Tagen hier
diskutiert)

Vollends unuebersichtlich wird es aber, wenn mittels #t{s0} und verwandtem
die bzw. Teile der Kategorienummer zum Bestandteil des Arbeitstexts werden
und man dort etwas abschneidet:

#t{s1}
#u1 b3 i1,1 ...
#t{s4}

bezieht sich nun das i1 auf den Arbeitstext, also die urspruengliche Position
4 = die Startposition in den Nutzdaten der Kategorie oder unbeeindruckt vom
b3 immer noch auf das erste Zeichen der Kategorienummer?

Mir scheint, dass starke Magie wie im Fall von Indikatortests auf Sonder-
kategorien zwangslaeufig zu starken Tabus fuer gewisse Bereiche fuehrt, wenn
bereits die Syntax der Exportsprache nicht klar ausdrueckbar macht, was
ueberhaupt gewuenscht ist wird man vom Programm kein korrketes Verhalten
einfordern koennen...

viele Gruesse
Thomas Berger

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

iJwEAQECAAYFAk2WWcIACgkQYhMlmJ6W47OExgQAu04oID1hkNIQ/n40ziQtkFYM
rnES87SQnUuhFDpsTbmMOYIxiUQg+WaQSe9Etm8E7Ao5Q+Lmo+BQtqq0K8/fB9A2
rZ+CmFXGU8rIeyY0SfodFz4qhrJQW+MPLi02khiiGhwyD0mi3/mWsdK73fpcxyMA
UejNsbUmFdt9R+/+YLI=
=CUM9
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro