Norman Dunbar writes:

> There's always one isn't there !
>
> when the line gets too long - and I'm not quite there yet - you simply get
a
> 'buffer full' error when loading a really really long line into S*Basic.
So,
> I suspect the limit on the number of parameters in a PRINT is defined by
the
> length of the actual line of pre-compiled text - 32Kb if I remember
> correctly.
>
> I'll let you know what the limit is - if I ever find it !

Theoretically one would expect the maximum possible number of parameters to
be

    max_linelength / 2 - 2

Say you defined a single character machine code procedure (X) and didnt use
a line number, eg:

    X p,p,p,p,p,...

youd expect to be allowed up to 16380 parameters. Actually, for Smsq/e 2.99
the answer appears to be that 'only' up to 5459 parameters are allowed
(provided the line length is not exceded). But this could be arbitrary.
Check it out:

100 p% = 5459
110 OPEN_OVER#3;'ram1_tst_bas'
120 PRINT#3; '1 X ';
130 FOR i% = 1 TO p% - 1: PRINT#3; 'p,';
140 PRINT#3; 'p'
150 CLOSE#3

LOAD ram1_tst_bas into an SBasic and try to LIST or EDIT it.

What are the limits for other systems? (Not terribly important, I suppose,
but nice to know all the same ;)

Per




Reply via email to