module BasicStatements { function f_BasicFlat() { var integer v_s1; var integer v_s2 := 1; //s1 no var integer v_s3 := v_s1 + v_s2; //s4 no -> yes after statement var integer v_s4 := v_s4 + 1; //shouldn't be allowed var integer v_s5 := v_s7; var integer v_s6; var integer v_s7 := 1; //s6 no var integer v_s8 := v_s6; //s5 no -> yes after statement v_s5 := v_s5 + 1; v_s6 := v_s2 + 1; //s1 no v_s7 := v_s1 + 1; //s6 yes var integer v_s9 := v_s6; var integer v_s10 := v_s7; log(v_s4, v_s1); } function f_F1 () { var integer v_s0; var integer v_s1:=1; } //no crossing over function f_F2 () { var integer v_s2:=v_s0; var integer v_s3:=v_s1; } }