package libsail
Module Libsail.JibSource
Source
type ctyp = | CT_lint| CT_fint of int| CT_constant of Nat_big_num.num| CT_lbits| CT_sbits of int| CT_fbits of int| CT_unit| CT_bool| CT_bit| CT_string| CT_real| CT_float of int| CT_rounding_mode| CT_tup of ctyp list| CT_enum of Ast.id * Ast.id list| CT_struct of Ast.id * (Ast.id * ctyp) list| CT_variant of Ast.id * (Ast.id * ctyp) list| CT_fvector of int * ctyp| CT_vector of ctyp| CT_list of ctyp| CT_ref of ctyp| CT_poly of Ast.kid
Source
type cval = | V_id of name * ctyp| V_lit of Value2.vl * ctyp| V_tuple of cval list * ctyp| V_struct of (Ast.id * cval) list * ctyp| V_ctor_kind of cval * Ast.id * ctyp list * ctyp| V_ctor_unwrap of cval * Ast.id * ctyp list * ctyp| V_tuple_member of cval * int * int| V_call of op * cval list| V_field of cval * Ast.id
Source
type instr_aux = | I_decl of ctyp * name| I_init of ctyp * name * cval| I_jump of cval * string| I_goto of string| I_label of string| I_funcall of clexp * bool * Ast.id * ctyp list * cval list| I_copy of clexp * cval| I_clear of ctyp * name| I_undefined of ctyp| I_exit of string| I_end of name| I_if of cval * instr list * instr list * ctyp| I_block of instr list| I_try_block of instr list| I_throw of cval| I_comment of string| I_raw of string| I_return of cval| I_reset of ctyp * name| I_reinit of ctyp * name * cval
Source
type cdef = | CDEF_register of Ast.id * ctyp * instr list| CDEF_type of ctype_def| CDEF_let of int * (Ast.id * ctyp) list * instr list| CDEF_val of Ast.id * string option * ctyp list * ctyp| CDEF_fundef of Ast.id * Ast.id option * Ast.id list * instr list| CDEF_startup of Ast.id * instr list| CDEF_finish of Ast.id * instr list| CDEF_pragma of string * string