stevepoole wrote:Would it be possible to allow keywords such as LIST etc to be recognised, to make programs be compatible with, say, QPC2 .
I've looked further into this. The case of LIST and others has already been catered for. These type commands get the message of Warning..Procedure cannot be compiled. There is currently a list of 13 such names. We can now add "ED", "LIBERATE" and "INSTR_CASE".
pjw wrote:Well, theres DIV and MOD for starters: SMSQ/E works on long integers, Qdos on word. But Qlib uses its own internal word-sized routines. Making those long shouldnt hurt.
DIV and MOD currently use integers in QLIB. Changing these to use longs will benefit all platforms. I don't do any assembler coding myself, so I will leave this to others to modify the RUNTIMES module.
Here is a function called MOD_ which returns numbers (+/- 999999999), with a test demo. No Division by zero allowed !
Steve
100 ::
110 REMark Huge MODulus, v6apr20
120 :
130 n=2
140 FOR x=-n TO n
150 FOR y=-n TO n
160 IF y<>0
170 a=MOD_(x,y): b=x MOD y
180 PRINT#0, x!y!MOD_(x,y)!!x MOD y,: PAUSE 25
190 IF a<>b: BEEP 32765,8: PAUSE
200 END IF
210 END FOR y
220 END FOR x
230 PRINT#0, MOD_('999999999','123456789')
240 :
250 DEFine FuNction MOD_(nb,md)
260 RETurn nb-(INT(nb/md)*md)
270 END DEFine
280 ::
I've just discovered the error is caused by my skip_Top_Line_Remark routine at line 32492 in v3.37
Besides storing the file position, recording and then restoring the variables sym1%, sym2%, sym3, etc. seems to cure the problem.
I'm currently in the process of checking all the code out for the v3.38 update.
BTW: would be good, if QLib can say, which variable is undefined.
EmmBee wrote:I've just discovered the error is caused by my skip_Top_Line_Remark routine at line 32492 in v3.37
Besides storing the file position, recording and then restoring the variables sym1%, sym2%, sym3, etc. seems to cure the problem.
I'm currently in the process of checking all the code out for the v3.38 update.
BTW: would be good, if QLib can say, which variable is undefined.
I've been reading the Q_Liberator Release Notes for RELEASE 3.31 June 1990. It contains this ...
COMPILER CONFIGURATION
Users who have a copy of the QJump level 1 configurator, config, can now
use this utility to modify the compiler, QLIB_OBJ. The colour sheme and
various compiler defaults including stack, heap, and buffer size can
be configured.
I've tried to use this, but to no avail. It doesn't seem to list any _obj files. Even if I type the name Ram2_Qlib_obj it just reports not found.
Perhaps we should install a more up-to-date MenuConfig, which I believe is freeware?