标准变量类型和限制。
数值类型
| 类型 | 大小在位 | 格式 | 最小值 | 最大值 | 字面后缀 | SIG。数字 | 
| BYTE | 8 | 有符号整数 | -128 | +127 |  | 2+ | 
| UBYTE | 8 | 无符号整数 | 0 | +255 |  | 2+ | 
| SHORT | 16 | 有符号整数 | -32768 | +32767 |  | 4+ | 
| USHORT | 16 | 无符号整数 | 0 | 65535 |  | 4+ | 
| LONG | 32 | 有符号整数 | -2147483648 | +2147483647 | &, l | 9+ | 
| ULONG | 32 | 无符号整数 | 0 | 4294967295 | ul | 9+ | 
| INTEGER | 32/64 [*] | 有符号整数 | [*] | [*] | % | [*] | 
| UINTEGER | 32/64 [*] | 无符号整数 | [*] | [*] | u | [*] | 
| LONGINT | 64 | 有符号整数 | -9 223 372 036 854 775 808 | +9 223 372 036 854 775 807 | ll | 18+ | 
| ULONGINT | 64 | 无符号整数 | 0 | +18 446 744 073 709 551 615 | ULL | 19+ | 
| SINGLE | 32 | 浮点 | [**]+/-1.401 298 E-45 | [**]+/-3.402 823 E+38 | !, f | 6+ | 
| DOUBLE | 64 | 浮点 | [**]+/-4.940 656 458 412 465 E-324 | [**]+/-1.797 693 134 862 316 E+308 | #, d | 15+ | 
[*] 整数和UInteger数据类型随平台而异,与指针的大小相匹配。
[**] 浮点类型Single和Double的最小值和最大值分别为最接近零的值,最接近正负无穷大的值。
| 类型 | 字符大小(字节) | 最小尺寸(以字符) | 最大尺寸(以字符) | 字面后缀 | 
| string | 1 | 0 | [**]+2147483647 | $ | 
| zstring | 1 | 0 | [**]+2147483647 | [N/A] | 
| WSTRING | [*] | [*]0 | [*,**]+2147483647 | [N/A] | 
[*] Unicode或“wide”,字符大小和可用性随平台而异。
[**] 所有运行时库字符串过程都会获取大小和位置的整数值。 实际的最大尺寸将随存储位置和/或平台而变化(较小)。 
| 最大下标范围 | 每个维度的最大元素 | 最小/最大尺寸 | 最大大小(以字节为单位) | 
| [*][-2147483648, +2147483647] | [*]+2147483647 | 1/9 | [*]+2147483647 | 
[*] 所有运行时库数组过程都会为下标和索引生成整数值。 实际限制将随维度数量,元素大小,存储位置和/或平台而变化(较小)。
参考
ProPgIdentifierRules用于变量的后缀
ProPgLiterals用于文字/数字的后缀