//--------------------------------------------------------------------------- // test of parameter options //--------------------------------------------------------------------------- main module VARIES %define Diagnostics %define Store_Diagnostics %Set Diagnostics = false %set Store_Diagnostics = false declare Math_Flag : boolean enddeclare use TEXTIO declare I1 : static integer initially 1 I2 : static integer initially 2 I3 : static integer initially 3 I4 : static integer initially 4 I5 : static integer initially 5 I6 : static integer initially 6 I7 : static integer initially 7 I8 : static integer initially 8 I9 : static integer initially 9 I10 : static integer initially 10 I11 : static integer initially 11 I12 : static integer initially 12 enddeclare procedure PRINT_THEM param P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 : in val integer endparam out_integer (TTY, P1, "Vari_IN_REF_NoInit =") out_integer (TTY, I1, "I1 = ") out_record (TTY) out_integer (TTY, P2, "Vari_INOUT_REF_NoInit =") out_integer (TTY, I2, "I2 = ") out_record (TTY) out_integer (TTY, P3, "Vari_OUT_REF_NoInit =") out_integer (TTY, I3, "I3 = ") out_record (TTY) //----------- out_integer (TTY, P4, "Vari_IN_VAL_NoInit =") out_integer (TTY, I4, "I4 = ") out_record (TTY) out_integer (TTY, P5, "Vari_INOUT_VAL_NoInit =") out_integer (TTY, I5, "I5 = ") out_record (TTY) out_integer (TTY, P6, "Vari_OUT_VAL_NoInit =") //6 out_integer (TTY, I6, "I6 = ") out_record (TTY) //---------- out_string (TTY, "Vari_IN_REF_Init =ILLEGAL") // 7 out_integer (TTY, I7, "I7 = ") out_record (TTY) out_integer (TTY, P8, "Vari_INOUT_REF_Init =") // 8 out_integer (TTY, I8, "I8 = ") out_record (TTY) out_integer (TTY, P9, "Vari_OUT_REF_Init =") out_integer (TTY, I9, "I9 = ") out_record (TTY) //---------- out_string (TTY, "Vari_IN_VAL_Init =ILLEGAL") // 10 out_integer (TTY, I10, "I10 = ") out_record (TTY) out_string (TTY, "Vari_INOUT_VAL_Init =ILLEGAL") // 11 out_integer (TTY, I11, "I11 = ") out_record (TTY) out_integer (TTY, P12, "Vari_OUT_VAL_Init =") out_integer (TTY, I12, "I12 = ") out_record (TTY) endprocedure function MINUS (K : integer ) returns KK: integer KK := - K endfunction procedure PRINT_V param H : in val integer endparam out_integer (TTY, H) out_record (TTY) endprocedure procedure Vari_IN_REF_NoInit param A : VARIADIC IN REF Integer //1 endparam PRINT_V (high(A)) for i := 1 to high(A) do endfor endprocedure procedure Vari_INOUT_REF_NoInit param A : VARIADIC INOUT REF Integer //2 endparam endprocedure procedure Vari_OUT_REF_NoInit param A : VARIADIC OUT REF Integer //3 endparam endprocedure //----------- procedure Vari_IN_VAL_NoInit param A : VARIADIC IN VAL Integer //4 endparam endprocedure procedure Vari_INOUT_VAL_NoInit param A : VARIADIC INOUT VAL Integer //5 endparam endprocedure procedure Vari_OUT_VAL_NoInit param A : VARIADIC OUT VAL Integer //6 endparam endprocedure //---------- procedure Vari_IN_REF_Init param A : VARIADIC IN REF Integer initially Minus(7) //7 endparam endprocedure procedure Vari_INOUT_REF_Init param A : VARIADIC INOUT REF Integer initially Minus(8) //8 endparam endprocedure procedure Vari_OUT_REF_Init param A : VARIADIC OUT REF Integer initially Minus(9) //9 endparam endprocedure //---------- procedure Vari_IN_VAL_Init param A : VARIADIC IN VAL Integer initially -10 //10 endparam endprocedure procedure Vari_INOUT_VAL_Init param A : VARADIC INOUT VAL Integer initially -11 //11 endparam endprocedure procedure Vari_OUT_VAL_Init param A : VARIADIC OUT VAL Integer initially -12 //12 endparam endprocedure Procedure RESET_VALUES () I1 := 1 I2 := 2 I3 := 3 I4 := 4 I5 := 5 I6 := 6 I7 := 7 I8 := 8 I9 := 9 I10:= 10 I11:= 11 I12:= 12 endprocedure tty_line (" ") tty_line ("----- TEST SUPPLYING ALL OPTIONAL VALUES, DOING MATH------") RESET_VALUES () tty_line (" ") tty_line ("--------------After return from Procedure") endmodule