type literal = | L_int of int| L_large of bool * int list| L_float of float| L_char of char| L_string of string| L_symbol of string| L_array of literal list| L_nil| L_true| L_false
and desc = | Lit of literal| Var of string| Assign of string * expr| Send of expr * string * expr list| Cascade of expr * (string * expr list * pos) list| Block of string list * string list * stmt list
type method_ = {selector : string;args : string list;temps : string list;primitive : int option;body : stmt list;
}val arity : string -> intval show_expr : expr -> stringval show_stmt : stmt -> stringval show_literal : literal -> string