Constant Expression
Constant expressions are integer expressions that are evaluated at compile time,
and that can be used in the following places:
These expressions only support a subset of Gambas operators and pre-defined constants.
Here is what you can use inside a constant expression:
| Arithmetic operators. | +,-,*,/,\,DIV,%,MOD | 
| Logical operators. | AND,OR,XOR,NOT | 
| Bitwise operators. | Shl,Shr,Asl,Asr,Lsl,Lsr | 
| Size of a native numerical or date datatype. | SizeOf | 
| Boolean constants | TRUE,FALSE | 
| Native datatype constants. | gb.Boolean gb.Byte
 gb.Short
 gb.Integer
 gb.Long
 gb.Single
 gb.Float
 gb.Date
 | 
| Any private integer constant identifier previously declared. |  | 
In the context of constant integer expressions, The / operator acts like the integer division operator \.
Examples
Public Const Alpha As Integer = 1
Public Const Beta As Integer = (Alpha * 2) + 1
Public Const Delta As Byte = Beta + Alpha
Private Enum FirstFlag = 1 Shl 0, SecondFlag = 1 Shl 1, ThirdFlag = 1 Shl 2
Private SomeEmbeddedArray[Delta * SizeOf(gb.Short)] As String