VAR <id> { "," <id> ... } [ ":" <type> ] [ ":=" <expr> ] ";"
Declaring variables in Modula-3 is much like Pascal, except that the type can be omitted if an initialization expression is provided. The initialization expression <expr> need not be constant. Here are some examples:
VAR
x: INTEGER;
s := "Hello"; (* type TEXT is implied *)
chars := SET OF CHAR{'a'..'z'}; (* type SET OF CHAR is implied *)
y, z := 0; (* both y and z are INTEGER initialized to 0 *)