Interpreter limits
That table lists the Gambas interpreter limits.
Note that some limits are immutable, i.e. they cannot be changed without rewriting the interpreter.
And some limits can be changed, i.e. it is just a matter of changing the value of the constant in
a source file and recompiling the interpreter.
Limit
|
Value
|
Can be changed?
|
Maximum number of parameters for a function
|
63
|
No
|
Maximum number of parameters for a subroutine
|
63
|
Maybe up to 127
|
Maximum number of parameters for an operator
|
63
|
No
|
Maximum level of expression imbrication
|
255
|
Yes
|
Maximum number of syntax patterns in an expression
|
1023
|
No
|
Maximum length of a symbol
|
255
|
No
|
Maximum number of constants in the same class
|
65536
|
No
|
Maximum number of static or dynamic symbols in the same class
|
2048
|
No
|
Maximum number of functions in the same class
|
2048
|
No
|
Maximum number of different classes used in the same class
|
2048
|
No
|
Maximum number of extern declarations in the same class
|
256
|
No
|
Maximum number of events declarations in the same class
|
254
|
No
|
Maximum number of unknown class symbols in the same class
|
65536
|
No
|
Maximum number of array declarations in the same class
|
32768
|
No
|
Maximum number of local variables in a function
|
127
|
No
|
Maximum level of control structures imbrication
|
32
|
Yes
|
Maximum number of dimensions in an array
|
8
|
Yes
|
Maximum level of controls imbrication in a form
|
32
|
Yes
|
Maximum number of possible comparisons in one CASE instruction
|
32
|
Yes
|
Maximum number of breakpoints
|
255
|
Yes
|
Maximum level of class inheritance
|
16
|
Yes
|
Maximum length of an error message
|
511
|
Yes
|
Maximum number of fields in a structure
|
255
|
Yes
|