Module Data

type ident = string
type v =
| I of int
| F of float
| B of bool
| E of ident * int
| A of v array
| S of (ident * v) list
| U
| Str of string
type t =
| Bool
| Int
| Real
| Extern of ident
| Enum of ident * ident list
| Struct of ident * (ident * t) list
| Array of t * int
| Alpha of int
| Alias of string * t
| String
val val_to_string : (float -> string) -> v -> string
val val_to_rif_string : (float -> string) -> v -> string
val val_to_string_type : v -> string
val type_of_string : string -> t
val type_to_string : t -> string
val type_to_string_alias : t -> string

use the alias for aliased types

type vntl = (string * t) list
type subst = string * v
type access =
| Idx of int
| Fld of ident
| Sle of int * int * int * int
val update_val : v -> v -> access list -> v
val create_val : t -> v -> access list -> v