1 module Sym = Tiger_symbol
12 ; fields : record_fields
18 | Name of Sym.t * t option ref
23 (Sym.t, t ) Tiger_map.t
27 val is_equal : t -> t -> bool
29 val is_int : t -> bool
30 val is_string : t -> bool
31 val is_array : t -> bool
32 val is_record : t -> bool
33 val is_name : t -> bool
35 val if_record : t -> f:(record_fields -> 'a) -> otherwise:(unit -> 'a) -> 'a
36 val if_array : t -> f:(t -> 'a) -> otherwise:(unit -> 'a) -> 'a
38 val new_record : name:Sym.t -> fields:record_fields -> t
39 val new_array : name:Sym.t -> ty:t -> t
41 val to_string : t -> string