Sorry John to come back but,

With

"! SPECs",
"  a: 54.5 .",
"  if (£1/==a) then",
"     set £1:=a",
"     set £2:=1",
"             else",
"     set £2+=1",
"  endif",

and with 6010A or 60102 and by reducing or not my storage from 128M to 16M I 
receive :

FPLYAC1434E Parse error in state 145, unexpected O_EQ at offset 5: "=a) then set
£1:=a set £2:=1 else set £2+=1 endif 1-* 1 print £2 picture 99999 nextword"
FPLMSG003I ... Issued from stage 5 of pipeline 1
FPLMSG001I ... Running "SPECs a: 54.5 . if (£1/==a) then set £1:="
FPLYAC1435I Expecting T_IDLETTER T_NUMBER T_QSTRING T_IDENT T_ID_CHAR T_CTR T_DO
T T_DOTDOT T_CTRARRAY S_LP O_PLUS O_NOT F_FIRST F_EOF F_BREAK F_C2D F_C2F F_X2D
F_X2F F_STRING F_AVERAGE F_VARIANCE F_NUMBER F_EXACT F_SQRT F_STDDEV F_STDERRMEA
N F_TYPE F_A
FPLSPE192I ... Scan at position 21; previous data "a: 54.5 . if (£1/=="
Ready; T=0.01/0.01 13:39:06


De : CMS/TSO Pipelines Discussion List 
<cms-pipeli...@listserv.meduniwien.ac.at> de la part de John P. Hartmann 
<m...@jphartmann.eu>
Date : dimanche, 27 novembre 2022 à 13:07
À : cms-pipeli...@listserv.meduniwien.ac.at 
<cms-pipeli...@listserv.meduniwien.ac.at>
Objet : Re: IF testing characters
On 11/27/22 12:39, a.benveni...@free.fr wrote:
> "  if (£1/=a) then",

The numerically not equal operator converts both arguments to numbers
and then performs a numeric compare.

Your compare of 6010A fails because the digit A is not decimal.  (Specs
has no facility to compare hexadecimal.)

Use /== to compare strings for not equal.  With the /== operator,
numbers are converted to string before the comparison.  Conversion to
string can fail only if you run out of storage.

Reply via email to