X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=compiler%2Fsrc%2Flib%2Ftiger%2Ftiger_error.mli;h=d7c2e795afb343cf852fef955dc38f285aa519d0;hb=1d155dc1b6399ec69573fc8043f2ec2a96490b50;hp=84d4317eeaea1758430fe682d6cece5a3a5c07b3;hpb=b9b456cc1bb9aff5e9e6972492d446a468feddcf;p=tiger.ml.git diff --git a/compiler/src/lib/tiger/tiger_error.mli b/compiler/src/lib/tiger/tiger_error.mli index 84d4317..d7c2e79 100644 --- a/compiler/src/lib/tiger/tiger_error.mli +++ b/compiler/src/lib/tiger/tiger_error.mli @@ -7,7 +7,16 @@ type t = | Invalid_syntax of Pos.t | Unknown_id of {id : Sym.t; pos : Pos.t} | Unknown_type of {ty_id : Sym.t; pos : Pos.t} + | Id_is_a_function of {id : Sym.t; pos : Pos.t} | Id_not_a_function of {id : Sym.t; pos : Pos.t} + | No_such_field_in_record of {field : Sym.t; record : Typ.t; pos : Pos.t} + | Exp_not_a_record of {ty : Typ.t; pos : Pos.t} + | Exp_not_an_array of {ty : Typ.t; pos : Pos.t} + | Wrong_type of + { expected : Typ.t + ; given : Typ.t + ; pos : Pos.t + } | Wrong_type_of_expression_in_var_dec of { var_id : Sym.t ; expected : Typ.t @@ -19,6 +28,11 @@ type t = ; ty : Typ.t ; pos : Pos.t } + | Wrong_type_used_as_array of + { ty_id : Sym.t + ; ty : Typ.t + ; pos : Pos.t + } | Wrong_type_of_field_value of { field_id : Sym.t ; expected : Typ.t @@ -56,4 +70,10 @@ val raise : t -> 'a val to_string : t -> string -val is_unknown_id : t -> bool +val is_unknown_id : t -> bool +val is_unknown_type : t -> bool +val is_wrong_type : t -> bool +val is_invalid_syntax : t -> bool +val is_not_a_record : t -> bool +val is_not_an_array : t -> bool +val is_no_such_field_in_record : t -> bool