Just as the runtime language does, the compile-time language supports constants and variables. You declare compile-time constants in the const
section, just as you would with the runtime language. You declare compile-time variables in the val
section. Objects you declare in the val
section are constants to the runtime language, but remember that you can change the value of an object you declare in the val
section throughout the source file. Hence the term "compile-time variable." See Chapter 4 for more details.
The CTL assignment statement (?
) computes the value of the constant expression to the right of the assignment operator (:=
) and stores the result into the val
object name appearing immediately to the left of the assignment operator.[118] This example code may appear anywhere in your HLA source file, not just in the val
section of the program.
?ConstToPrint := 25; #print( "ConstToPrint = ", ConstToPrint ) ?ConstToPrint := ConstToPrint + 5; #print( "Now ConstToPrint = ", ConstToPrint )
[118] If the identifier to the left of the assignment operator is undefined, HLA will automatically declare this object at the current scope level.