AW: [Allegro] Absturz von A99

Fischer, Thomas fischer at sub.uni-goettingen.de
Fr Apr 1 12:46:03 CEST 2011


Hallo Herr Allers,

danke fürs mitdenken.
Ich habe die folgende Exportparameterdatei auf den Satz #25 (#00 813139, #20 Julius Cäsar <deutsch>, das ist bei mir der Startsatz) der Demodatenbank losgelassen. Bei mir erfolgt dann sofortiger Absturz. (Windows 7 64bit, a99 v31.2.1, auch unter Windows XP in VMWare auf MacBook).

----------------------------------
	Export zum Test von ik,x
	crashtest.apr  1.4.2011
	Version mit Kopfzeilen


ze=13 10 
zl=0			Zeilenlänge unbegrenzt
zi=0			Einrückung
fl=0			kein Kartendruck
fm=0			Modus: keine Einzelkarten für die Bände (2 = Einzelkarten)
dx=1			=0, wenn Farbe nicht gewünscht
zm=0			kein Seitenumbruch
ke=''  	Feldende, neues Feld
ab=''
as=''
ae=''



ak=7.+A


#-A
#cc +B i2,1
#+#
#+B
#t{s0}
#cc p'cc: ' P{C}
#t{s4}
#+#

------------------------------- 


> > ich habe festgestellt, dass die Zeile
> > 
> > #cc +B i2,1
> > 
> > in einer Exportparameterdatei mit ziemlicher Sicherheit A99 
> abstürzen lässt.
> > Verstoße ich da gegen ein irgendwo gegebenes Gesetz?
> 
> 
> Nein, diese Anweisung ist korrekt.- Ich habe die von Ihnen 
> erlebten a99-Abstürze aber nicht zu reproduzieren vermocht: 

> > Ich merke auch, das ich bei näherer Betrachtung die 
> > Äquivalenz der beiden Beschreibungen
> > 
> > ik,x   4  Anweisung nur fortsetzen, wenn auf Position k das 
> >           Zeichen x steht (Position 1 = erste Kategorieziffer)
> >           [201]    
> > 
> > und
> > 
> > ik,x   Indikatorprüfung: die Position k (= 1...255) im 
> >        Kategorietext (#cc) wird verglichen mit dem Zeichen x
 
> 
> Die Indikatorprüfung ik,x ist ein _Manipulationsbefehl_, der 
> in eine Anweisungszeile eingestreut werden kann (und muß), wie z.B.
> #31s b";" i2,1e";" 

Der Punkt hier war, dass die beiden Aussagen (aus der "Tabelle" h ac10-6) und aus 10.2.6.4 Typ 4 nicht identisch sind: in der einen wird mit dem aktuellen Arbeitstext, in der anderen mit der aktuellen Kategorie verglichen.

> > nicht verstehe, und auch das Verhältnis zu
> > 
> > #ik,x A
> 
> Das ist kein Manipulationsfehl, kann nicht in 
> Anweisungszeilen zur Manipulation von Arbeitstexten 
> eingestreut werden, sondern bildet einen eigenen Befehl, der 
> als solcher schon eine Anweisungszeile in einer 
> Parameterdatei konstituiert (eine vollständige 
> Anweisungszeile darstellt). Es handelt sich hier um einen 
> "Steuerbefehl".
> 
> > ist mir nicht ganz klar.
> > Hiermit gibt es wohl keinen Sprungbefehl,
> 
> Nein, nach Dokumentation (Systemhandbuch 10.2.6.4) nicht
> 
> > sondern nur einen Unterprogrammaufruf? 
> 
> Ja, und Zwischenteilnummern können für A gesetzt werden.- 
> Beispiele für die Verwendung des Steuerbfehls #ik,x wären also:
> ...

Mit "Verhältnis" meinte ich, dass die ganze Funktionalität von #ik,x A doch schon in dem Manipulationsbefehl enthalten ist, der zudem noch mächtiger ist, weil dort auch Sprungbefehle möglich sind.
Daher kommt mir dies  #ik,x A überflüssig vor (könnte ich vielleicht als Streichvorschlag vormerken für meinen nächsten Funktionserweiterungswunsch?).

Mit freundlichen Grüßen
Thomas Fischer 


Mehr Informationen über die Mailingliste Allegro