1 module Abs = Tiger_absyn
2 module Pos = Tiger_position
3 module Sym = Tiger_symbol
4 module Typ = Tiger_env_type
7 | Cycle_in_type_decs of
13 | Break_outside_loop of Pos.t
14 | Invalid_syntax of Pos.t
15 | Unknown_id of {id : Sym.t; pos : Pos.t}
16 | Unknown_type of {ty_id : Sym.t; pos : Pos.t}
17 | Id_is_a_function of {id : Sym.t; pos : Pos.t}
18 | Id_not_a_function of {id : Sym.t; pos : Pos.t}
19 | No_such_field_in_record of {field : Sym.t; record : Typ.t; pos : Pos.t}
20 | Exp_not_a_record of {ty : Typ.t; pos : Pos.t}
21 | Exp_not_an_array of {ty : Typ.t; pos : Pos.t}
27 | Wrong_type_of_expression_in_var_dec of
33 | Wrong_type_used_as_record of
38 | Wrong_type_used_as_array of
43 | Wrong_type_of_field_value of
49 | Wrong_type_of_arg of
55 | Wrong_number_of_args of
61 | Invalid_operand_type of
67 | Different_operand_types of
78 val to_string : t -> string
80 val is_unknown_id : t -> bool
81 val is_unknown_type : t -> bool
82 val is_wrong_type : t -> bool
83 val is_wrong_number_of_args : t -> bool
84 val is_invalid_syntax : t -> bool
85 val is_not_a_record : t -> bool
86 val is_not_an_array : t -> bool
87 val is_no_such_field_in_record : t -> bool
88 val is_cycle_in_type_dec : t -> bool
89 val is_break_outside_loop : t -> bool