About
Multiple assignations and initializations in one row
A=B=C=D=F=0
I never met any BASIC that do it.
You must split the assignations and initializations
About the other syntax It seems to be convertion from String to Integer
Here info about tour Sinclair
https://it.m.wikipedia.org/wiki/Sinclair_BASIC
It’s perfectly valid; it’s just not assignments. It’s mathematical calculations. Think of it as:
A = (B = (C = (D = (E = (F = 0)))))
So if F = 0, that innermost result is -1, basically making the calculation: A = (B = (C = (D = (E = -1))))
And, if F <> 0, that innermost result is 0, basically making the calculation: A = (B = (C = (D = (E = 0))))
And it just continues to solve the formula until it ends up giving A a final value of either -1 (TRUE) or 0 (FALSE).
**************************
I’ve seen this type of logic in the past before, and if I remember correctly, it’s basically a quick way to determine if all the values are set, or not. If B, C, D, E, F are all 0, A should be (either 0 or -1, but I’m not certain what the result actually is, without testing it.). If one value is non-zero, the value of A should be reversed.
If the values are anything other than Boolean truth values (0 or -1), I can’t really see such a formula having any meaning at all. I guess more of the code would have to be shared, to try and actually sort out what it’s supposed to do, but it’s basically an assignment structure to determine if A is 0 or -1, in the end.
For easy reference, think of A = B = C. If B = C, then A = -1, otherwise A = 0...
It’s the same principle; just carried out to an extreme level.
In the end, you can think of it as a formula which calculates the value of A from:
E = F = 0
D = E = F
C = D = E
B = C = D
A = B = C