[Allegro] Flex-Syntax: weitere Befehle in gleicher Zeile nach perform

Anando Eger a.eger at aneg-dv.de
Mi Jan 16 14:33:04 CET 2008


Liebe Listenleserinnen und -leser, lieber Herr Eversberg,

in der xperform.rtf steht u.a.:
...
Sobald aber ein Befehl  return erreicht wird, geht es mit der 
nächsten Zeile weiter, die auf  perform  folgt. 
...

Das reale Verhalten scheint davon abzuweichen:
Es wird auch in verschiedenen mitgelieferten Flex-Dateien 
(z.B. xgrep.flx) perform in Form "if ... perf name; ..."
verwendet.

Da diese Form so nicht beschrieben ist, habe ich etwas 
experimentiert und beobachtet:
- mit "\" abgetrennte, auf perform folgende Befehle werden,
  wie eigentlich nicht erwartet, abgearbeitet
- von nach "if" auf perform folgende, mit ";" getrennte
  Befehle werden auch abgearbeitet, wenn sie in der
  Einzahl sind (also es wird nur genau ein Befehl richtig
  behandelt)

Reproduzierbar ist das mit folgendem Beispiel-Flex:
---------------------------------------------------------------
perf upmes\mes 2\mes 3         // o.k. (1,2,3)
var "1"
if "0" perf upmes\mes 2\mes 3  // o.k. (2,3)
if "0" perf upmes;mes 2\mes 3  // o.k. (3)
if "1" perf upmes;mes 2\mes 3  // o.k. (1,2,3)
if "1" perf upmes;mes 2;mes 3  // Fehler
end

:upmes
mes 1
return\end
---------------------------------------------------------------

Habe ich das so richtig ermittelt? Und sollte auch die Syntax

if bedingung perf name;befehl1;befehl2; ...  auch funktionieren?

Und könnte dann die Doku so geändert werden:
"... Sobald aber ein Befehl return erreicht wird, geht es mit 
dem nächsten Befehl weiter, der auf  perform  folgt ... " ?

Viele Grüße
Anando Eger

-----------------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236  http://www.aneg-dv.de
Fax: +49 (0)351 454 1238  mailto:a.eger at aneg-dv.de
-----------------------------------------------------------------------------







Mehr Informationen über die Mailingliste Allegro