Error Messages
The compiler writer has a serious obligation: the compiler must produce either correct output code or an error message.
Good error messages can save a great deal of programmer time; this makes it worth the trouble to produce them.
        X[CVAR] := 3.14
          ↑ 
*ERROR*  CVAR, of type COMPLEX,
         may not be used as a subscript.