Semantics : ConstantDefinition

ConstantDefinition  ::=  ( const )? CONST_NAME = ( Expr | HereDoc | ArrayAllocator | StructAllocator | SetAllocator ) ( ifndef | if Expr )? ;

Used by:  

A constant is defined, or evaluated, before a script is run, no matter where it is defined. The value expression should be constant as well.

Conditional definition is supported, either to check on itself or a boolean Expression.