CONDITIONAL STATEMENTS AND JUMPS Conditional statements manipulate values to give a Condition Code. This code may have six values: EQUAL GREATER THAN TRUE NOT EQUAL LESS THAN FALSE These values are set by five operators: ? Compare the values described by the top two descriptors on the stack and set the Condition Code appropriately (EQUAL, NOT EQUAL, GREATER or LESS). The two descriptors are removed from the stack (but see '"'). T Set the Condition Code to TRUE (and return from the enclosing predicate). K Set the Condition Code to FALSE (and return from the enclosing predicate). C The same as '?' except that the addresses of the items described are compared. NOTE: The two items compared by '?' will be of similar type i.e. string:string, integer:integer, integer:real etc. Hence the only type conversions necessary are from integer to real, byteinteger to integer etc. " As for '?' but indicates that this is the first comparison of a double-sided condition and that the second descriptor (the middle operand) is to be restacked ready for the second comparison. e.g. if A=B=C start @1@2"#4@3?#4 12