LOTUSSCRIPT LANGUAGE


Limits on compiler and compiled program structure in LotusScript
The following table lists limits on miscellaneous items related to compiling a script.
ItemMaximum
Number of lines per script or source file, not including the contents of %Include files64K
Depth of nested %Include directives16
Number of compilation errors before the LotusScript compiler halts20
Number of symbols in a module's symbol table.64K
Number of recursive calls (recursion level for a given function)32Kbyte stack size
Storage size of all data in a given scope (See "Storage size of data," below.)Module: Limited by available memory.

Class: 64K bytes

Procedure: 32K bytes

Size of executable module codeLimited by available memory.

Storage size of data

The limits on the storage size of data in a given scope apply to fixed-size variables: scalar variables except for variable-length strings; user-defined type variables; and fixed arrays of these scalar variables and user-defined type variables. Depending on the order of declaration, alignment of variables on storage boundaries can take extra space. For example, an Integer variable is aligned on a 2-byte boundary, and a Long variable is aligned on a 4-byte boundary.

The maximum size of data in each dynamic variable (each variable-length string, each list, each dynamic array, and each instance of a class) is limited by available memory. However, each such variable will use 4 bytes for data in the scope where it is declared.

Because of run-time needs, LotusScript might generate an Out of stack error just before it reaches the data storage size limit.

See Also