+(* TODO: test21.tig - error : procedure returns value and procedure is used in arexpr *)
+
+let is_error_expected_semant_of_filename =
+ let module E = Tiger_error in
+ function
+ | "test16.tig" ->
+ Some Error.is_cycle_in_type_dec
+ (* TODO: Be more specific - between which decs? *)
+ | "test17.tig"
+ | "test33.tig" ->
+ Some Error.is_unknown_type
+ (* TODO: Be more specific - which type? *)
+ | "test18.tig"
+ | "test19.tig"
+ | "test20.tig" ->
+ Some Error.is_unknown_id
+ (* TODO: Be more specific - the unknown id is "i" *)
+ | "test22.tig" ->
+ Some Error.is_no_such_field_in_record
+ (* TODO: Be more specific - which field? *)
+ | "test24.tig" ->
+ Some Error.is_not_an_array
+ (* TODO: Be more specific *)
+ | "test25.tig" ->
+ Some Error.is_not_a_record
+ (* TODO: Be more specific *)
+ | "test35.tig"
+ | "test36.tig" ->
+ Some Error.is_wrong_number_of_args
+ (* TODO: Be more specific - how many expected, how many given? *)
+ | "test09.tig"
+ | "test11.tig"
+ | "test13.tig"
+ | "test14.tig"
+ | "test21.tig"
+ | "test23.tig"
+ | "test26.tig"
+ | "test28.tig"
+ | "test29.tig"
+ | "test31.tig"
+ | "test32.tig"
+ | "test34.tig"
+ | "test43.tig" ->
+ Some Error.is_wrong_type
+ (* TODO: Be more specific - what expected, what given? Where? *)
+ | _ ->
+ (* TODO: Fill-in other expected cases *)
+ None