Welcome to jBASE's new documentation site! Many answers to your questions can be found by searching the Knowledgebase or viewing the jBASE Documentation. We also have a Google Group for peer discussion about jBASE. If you are unable to find the information you are looking for, jBASE Support will be glad to assist in resolving your technical problems. Enjoy and please provide comments and feedback .

How can we help you?

PN5_60954

Description

The new pre-processor was not recognising the '!' character as a potential system keyword.


Previous Release Behavior

The pre-processor has to pre-parse the source code and make it ready for the main compiler. In this case it wasn't recognising the '!' character as a potential system keyword, and only recognised it as either a comment or a maths symbol


Current Release Behavior

The anomaly is fixed and the example shown below now compiles.

This example shows 2 rather strange anomalies in the multi-value language at work.

First anomaly. The '!' symbol at the start of a statement means it is a comment that follows until end of line. However the '!' symbol anywhere else is a logical OR operator.

This first anomaly is what created the problem when trying to fix the second anomaly, whereby the '<' and '>' also have dual meaning. In one case they can be attribute extraction such as A = B<2> , in the second case they can mean less-than or greater-than, as in IF ANS < 1 ! ANS > 10 THEN DEBUG. It is while trying to resolve this anomaly that the pre-processor got confused with the meaning of '!', the first anomaly.

LTMP=125
IF LTMP<32 ! (LTMP>126 & LTMP LT 255) THEN CRT 'Hello'

Was this article helpful?