Declarations

A variable declaration may give an initial value to a variable,


\begin{elan}
INT VAR middle :: ( 1 + max ) DIV 2
\end{elan}

otherwise its initial value is undefined, as in


\begin{elan}
VAR x
\end{elan}

Two or more variable declarations can be combined into one unit


\begin{elan}
VAR left pointer :: 1 ,
right pointer :: max ,
middle pointer
\end{elan}

A constant declaration must give an initial value to a constant


\begin{elan}
INT CONST small :: 4711 ;
TEXT CONST capital :: ''monaco''
\end{elan}

Each execution of a declaration causes a new elaboration of the initialization. In this way a constant may have a different value after each declaration executed. The term ``constant'' is therefore somewhat misleading: its value is not changeable by an assignment, therefore it is constant over part or all of the program.