Gambas Documentation - /doc/limit

/doc/limit

# 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 class 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