[Allegro] Diverse Bemerkungen (PROTOQ etc.)

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Mo Jul 30 17:43:53 CEST 2007


Liebe KollegInnen,

bei meinen Indextests bin ich entlang des Weges auf ein paar Kleinigkeiten
gestoßen:

1. Ich bekomme eine mir unverständliche Meldung in PROTOQ:

Ladefehler 58 in Reg. f2, fehlerhafter Schlüssel =><,

Satz#=1287  (voriger=>00079999<, Satz#=7332

Was soll ich tun?
(Mit F7 wird für Satz#=1287 kein Fehler gemeldet.)
Was ist "Ladefehler 58", und wo kann ich das nachschlagen?

2. Warum kommt PROTOQ eigentlich in so einem seltsamen Format daher:
Zeilenwechsel teils Unix, teils Windows, auch mal LF CR, viele Leerzeilen,
unnötiges ASCII 0 am Ende?

3. In PROTOQ stehen zwei Zeilen:
 INDEX f2 enthält 7918 Einträge
 INDEX f2 enthält 787416 Einträge
Ich vermute, dass die erste Zeile vom ersten Durchlauf stammt, aber ist das
sinnvoll?

4. Meine Indexanzeige fällt manchmal aus und meldet nur noch:

---------------------------
a99
---------------------------
Sorry, set is too large
---------------------------
OK   
-------------------------–

Normalerweise hilft dann Registerwechsel.

5. Der "Trick 47: Längsten/kürzesten Satz finden" liefert bei mir:

---------------------------
a99    [lang.flx]
---------------------------
Laengster Satz  :  , Laenge 25018Kuerzester Satz :  , Laenge 0
---------------------------
OK   
---------------------------

wenn ich den Flex-Vorschlag in eine Datei lang.flx schreibe.

Ich denke, dass das daran liegt dass
- var  "Laengster Satz  :  " #uis ", Laenge " #ulg 
  eine nicht belegte Variable #uis benutzt (statt #uil),
- die Variable für die Länge des kürzesten Satzes mit
  0 initiiert wird und nichts kürzeres auftritt,
- außerdem var jb noch ein Mal aufgerufen werden muss, wenn
  ein größerer Satz gefunden wurde.
(Nebenbei: der Standard CMD-C für's kopieren geht bei Janas nicht.)
Ich hänge unten meine Version an.

Mit freundlichen Grüßen
Thomas Fischer 

_______________
  lang.flx:

#ulg 0
#uks 10000
first #
:loop
keycheck
  Wurde [Esc] gedrückt?
  Wenn ja und Nachfrage mit ja beantwortet, dann -> :exit
if yes jump exit
var jb
if >#ulg ins #ulg;var i;ins #uil;var jb
if <#uks ins #uks;var i;ins #uik
next #
if yes jump loop
:exit
  Ende, jetzt den Satz noch zeigen 
var "#" #uil
find
sho rec
disp
  und Meldung:
var  "Laengster Satz: " #uil ", Laenge " #ulg 
var + 13 10 "Kuerzester Satz: " #uik ", Laenge " #uks
message




Mehr Informationen über die Mailingliste Allegro