//----------------------------------------------------------------------- // Examples of diagnostic errors //-------------------------------------------------------------------- main module ERRORS procedure SIZEER param I : inout ref 8 bit integer endparam endprocedure declare Integer_8 : static 8 bit integer Integer_8_range : static 8 bit integer range 1..10 I_16_range : static 16 bit integer range 1..10 Cardinal_8 : static 8 bit cardinal Cardinal_8_range: static 8 bit cardinal range 1..10 R : static real P_type is integer P : pointer P_type () enddeclare // size_error SIZEER (I_16_range) // missing_argument SIZEER () // wrong_type SIZEER (R) // Duplicate_arg SIZEER (I16, I16) // Not_Pointer P := I_16_range@ // compile time range_Check Integer_8 := 130 Integer_8_range := 11 Cardinal_8 := 256 Cardinal_8_range := 11 endmodule