Registerschl"usselbildungsproblem

Bernhard Eversberg ev at buch.biblio.etc.tu-bs.de
Mi Mai 7 09:38:30 CEST 2003


On 6 May 03, at 23:43, Heinrich Allers wrote:

>        hat jemand mal Lust und Zeit, in ein Problem der Ebene "allegro classico"
>        einzutauchen? Es 
> geht um seltsame Phänomene bei der Bildung von Registerschlüsseln.
> 
Die Beschreibung deutete mal wieder unmissverstaendlich auf eine vergessene u-
Variable. Und in der Tat, es heisst in den Indexparametern:

ak=zz+r     #utt und #uti wird zurückgesetzt
....
#-r
#uti dti e0 0 #zz 0
#utt dti e0 0 #zz 0
#+#

d.h. #utt wird eben NICHT zurueckgesetzt, dazu muesste die vorletzte Zeile lauten
#utt dtt e0 0 #zz 0

Ein simpler Schreibfehler also.
Aber mit kaum durchschauberen Folgen! Zwar wird #utt selber gar nicht benutzt, 
aber in dem Abschnitt, wo es heisst:

#-E   Sachtitelwörter
#u1 +- i1,2 i2,6 e0   enth.
!u1 u p"|1"
#uti dti e0 0 #zz 0
#+#

(und wo der Inhalt von #26 verarbeitet wird,) da wird auf einmal #uti geloescht.
Jedoch in der zugehoerigen ak-Zeile steht:
ak=uti"[ '/]"+E

nach dem ersten Abarbeiten von #-E ist aber #uti gar nicht mehr da. Seinen Platz 
hat, in der Folge der #u-Variablen, aber #utt eingenommen. Die ak-Abarbeitung 
merkt nicht, dass #uti verschwunden ist, denn es arbeitet nur mit einem internen 
Zeiger. Der zeigt nun aber dahin, wo jetzt #utt steht. Und damit nimmt das 
Verhaengnis seinen Lauf...
Der Denkfehler liegt also darin, im selben Abschnitt, wo ein ak-Befehl mehrfach 
abgearbeitet wird, genau die Variable zu loeschen, die vom selben ak-Befehl 
gerade zerlegt und verarbeitet werden soll.

B.E.


Bernhard Eversberg
Universitaetsbibliothek, Postf. 3329, 
D-38023 Braunschweig, Germany
Tel.  +49 531 391-5026 , -5011 , FAX  -5836
e-mail  B.Eversberg at tu-bs.de  




Mehr Informationen über die Mailingliste Allegro