staload Syn = "ats_syntax.sats"
staload "ats_staexp2.sats"
staload "ats_dynexp2.sats"
datatype hityp_node =
| HITextype of
(string, hityplstlst)
| HITfun of
($Syn.funclo, hityplst, hityp)
| HITrefarg of
(int, hityp)
| HITs2var of s2var_t
| HITtyarr of
(hityp , s2explstlst)
| HITtyrec of
(int, labhityplst)
| HITtyrectemp of
(int, labhityplst)
| HITtyrecsin of
hityp
| HITtysum of
(d2con_t, hityplst)
| HITtysumtemp of
(d2con_t, hityplst)
| HITunion of
labhityplst
| HITvararg
and labhityplst =
| LABHITYPLSTcons of (lab_t, hityp, labhityplst)
| LABHITYPLSTnil
and hityp_name = HITNAM of (int, string)
where hityp = '{
hityp_name= hityp_name, hityp_node= hityp_node
}
and hityplst = List hityp
and hityplstlst = List hityplst
fun fprint_hityp {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hit: hityp): void
fun print_hityp (hit: hityp): void
fun prerr_hityp (hit: hityp): void
fun fprint_hityplst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hits: hityplst): void
fun print_hityplst (hits: hityplst): void
fun prerr_hityplst (hits: hityplst): void
fun fprint_hityplstlst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hitss: hityplstlst): void
val hityp_abs : hityp
val hityp_bool : hityp
val hityp_char : hityp
val hityp_clo : hityp
val hityp_clo_ptr : hityp
val hityp_clo_ref : hityp
val hityp_double : hityp
val hityp_float : hityp
val hityp_int : hityp
val hityp_proof : hityp
val hityp_ptr : hityp
val hityp_string : hityp
val hityp_tysum_ptr : hityp
val hityp_vararg : hityp
val hityp_void : hityp
fun hityp_extype
(name: string, _arg: hityplstlst): hityp
fun hityp_extype_nil (name: string): hityp
fun hityp_fun (fc: $Syn.funclo, _arg: hityplst, _res: hityp): hityp
fun hityp_refarg (refvar: int, _arg: hityp): hityp
fun hityp_s2var (s2v: s2var_t): hityp
fun hityp_tyarr (hit_elt: hityp, s2ess_dim: s2explstlst): hityp
fun hityp_tyrec (fltboxknd: int, name: string, lhits: labhityplst): hityp
fun hityp_tyrectemp (fltboxknd: int, lhits: labhityplst): hityp
fun hityp_tyrecsin (hit: hityp): hityp
fun hityp_tysum (name: string, d2c: d2con_t, _arg: hityplst): hityp
fun hityp_tysumtemp (d2c: d2con_t, _arg: hityplst): hityp
fun hityp_union (name: string, lhits: labhityplst): hityp
fun hityp_varetize (hit: hityp): hityp
fun hityp_is_void (hit: hityp): bool
fun hityp_fun_is_void (hit: hityp): bool
fun hityp_is_vararg (hit: hityp): bool
fun hityp_fun_is_vararg (hit: hityp): bool
fun hityp_is_tyarr (hit: hityp): bool
fun hityp_is_tyrecbox (hit: hityp): bool fun hityp_is_tyrecext (hit: hityp): bool fun hityp_is_tyrecsin (hit: hityp): bool
abstype tmpvar_t typedef tmpvarlst = List (tmpvar_t)
datatype tmpvaropt = TMPVAROPTsome of tmpvar_t | TMPVAROPTnone
datatype hipat_node =
| HIPann of
(hipat, hityp)
| HIPany
| HIPas of
(int, d2var_t, hipat)
| HIPbool of
bool
| HIPchar of
char
| HIPcon of
(int , d2con_t, hipatlst, hityp)
| HIPcon_any of
(int, d2con_t)
| HIPempty
| HIPfloat of string
| HIPint of
(string, intinf_t)
| HIPlst of
(hityp, hipatlst)
| HIPrec of
(int , labhipatlst, hityp)
| HIPstring of
string
| HIPvar of
(int, d2var_t)
and labhipatlst =
| LABHIPATLSTcons of (lab_t, hipat, labhipatlst)
| LABHIPATLSTdot
| LABHIPATLSTnil
where hipat = '{
hipat_loc= loc_t
, hipat_node= hipat_node
, hipat_typ= hityp
, hipat_asvar= d2varopt
}
and hipatlst = List hipat
and hipatopt = Option hipat
fun fprint_hipat {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hip: hipat): void
fun print_hipat (hip: hipat): void
fun prerr_hipat (hip: hipat): void
fun fprint_hipatlst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hips: hipatlst): void
fun print_hipatlst (hips: hipatlst): void
fun prerr_hipatlst (hips: hipatlst): void
fun fprint_labhipatlst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, lhips: labhipatlst): void
fun hipat_ann (_: loc_t, _: hityp, _: hipat, ann: hityp): hipat
fun hipat_any (_: loc_t, _: hityp): hipat
fun hipat_as (_: loc_t, _: hityp, refknd: int, _: d2var_t, _: hipat): hipat
fun hipat_bool (_: loc_t, _: hityp, _: bool): hipat
fun hipat_char (_: loc_t, _: hityp, _: char): hipat
fun hipat_con (
_: loc_t, _: hityp, freeknd: int, _: d2con_t, _arg: hipatlst, _sum: hityp)
: hipat
fun hipat_con_any (_: loc_t, _: hityp, freeknd: int, _: d2con_t): hipat
fun hipat_empty (_: loc_t, _: hityp): hipat
fun hipat_int (_: loc_t, _: hityp, str: string, int: intinf_t): hipat
fun hipat_lst (_: loc_t, _lst: hityp, _elt: hityp, _: hipatlst): hipat
fun hipat_rec
(_: loc_t, _: hityp, knd: int, _: labhipatlst, _rec: hityp): hipat
fun hipat_string (_: loc_t, _: hityp, _: string): hipat
fun hipat_var (_: loc_t, _: hityp, refknd: int, d2v: d2var_t): hipat
fun hipatlst_is_unused (hips: hipatlst): bool
fun hipat_asvar_set (hip: hipat, od2v: d2varopt): void
= "ats_hiexp_hipat_asvar_set"
abstype dynconset_t abstype dyncstset_t
datatype hidec_node =
| HIDlist of hideclst
| HIDsaspdec of s2aspdec
| HIDdcstdec of
($Syn.dcstkind, d2cstlst)
| HIDdatdec of
($Syn.datakind, s2cstlst)
| HIDexndec of
d2conlst
| HIDextype of
(string , hityp )
| HIDextval of
(string , hiexp )
| HIDextern of
(int , string )
| HIDfundecs of
(s2qualst, $Syn.funkind, hifundeclst)
| HIDvaldecs of
($Syn.valkind, hivaldeclst)
| HIDvaldecs_par of
hivaldeclst
| HIDvaldecs_rec of
hivaldeclst
| HIDvardecs of
hivardeclst
| HIDimpdec of
hiimpdec
| HIDimpdec_prf of
hiimpdec_prf
| HIDlocal of
(hideclst , hideclst )
| HIDstaload of
(fil_t, int)
| HIDdynload of
fil_t
and hiexp_node =
| HIEapp of
(hityp, hiexp, hiexplst)
| HIEarrinit of
(hityp, hiexpopt, hiexplst)
| HIEarrsize of
(hityp, hiexplst)
| HIEassgn_ptr of
(hiexp, hilablst, hiexp)
| HIEassgn_var of
(d2var_t, hilablst, hiexp)
| HIEbool of
bool
| HIEcaseof of
(int, hiexplst, hiclaulst)
| HIEcastfn of
(d2cst_t, hiexp)
| HIEchar of
char
| HIEcon of
(hityp, d2con_t, hiexplst)
| HIEcst of d2cst_t | HIEcstsp of $Syn.cstsp | HIEdynload of
fil_t
| HIEempty
| HIEextval of
string
| HIEfix of (int, d2var_t, hiexp)
| HIEfloat of
string
| HIEfloatsp of
string
| HIEfreeat of hiexp | HIEif of
(hiexp, hiexp, hiexp)
| HIEint of
(string, intinf_t)
| HIEintsp of
(string, intinf_t)
| HIElam of
(hipatlst, hiexp)
| HIElaminit of
(hipatlst, hiexp)
| HIElazy_delay of
hiexp
| HIElazy_vt_delay of
(hiexp , hiexp )
| HIElazy_force of
(int, hiexp)
| HIElet of
(hideclst, hiexp)
| HIEloop of
(hiexpopt, hiexp, hiexpopt, hiexp)
| HIEloopexn of
int
| HIElst of
(int, hityp, hiexplst)
| HIEptrof_ptr of
(hiexp, hilablst)
| HIEptrof_var of
(d2var_t, hilablst)
| HIEraise of
hiexp
| HIErec of
(int, hityp, labhiexplst)
| HIErefarg of
(int, int, hiexp)
| HIEsel of
(hiexp, hilablst)
| HIEsel_ptr of
(hiexp, hilablst)
| HIEsel_var of
(d2var_t, hilablst)
| HIEseq of
hiexplst
| HIEsif of
(hiexp, hiexp)
| HIEsizeof of
hityp
| HIEstring of
(string, int)
| HIEtmpcst of
(d2cst_t, hityplstlst)
| HIEtmpvar of
(d2var_t, hityplstlst)
| HIEtop
| HIEtrywith of
(hiexp, hiclaulst)
| HIEvar of
d2var_t
and labhiexplst =
| LABHIEXPLSTcons of (lab_t, hiexp, labhiexplst)
| LABHIEXPLSTnil
and hilab_node =
| HILlab of
(lab_t, hityp )
| HILind of
(hiexplstlst , hityp )
where hidec = '{
hidec_loc= loc_t, hidec_node= hidec_node
}
and hideclst = List hidec
and hiexp = '{
hiexp_loc= loc_t, hiexp_node= hiexp_node, hiexp_typ= hityp
}
and hiexplst = List hiexp
and hiexpopt = Option hiexp
and hiexplstlst = List hiexplst
and hilab = '{
hilab_loc= loc_t, hilab_node= hilab_node
}
and hilablst = List hilab
and himat = '{
himat_loc= loc_t, himat_exp= hiexp, himat_pat= Option (hipat)
}
and himatlst = List himat
and hiclau = '{
hiclau_loc= loc_t
, hiclau_pat= hipatlst
, hiclau_gua= himatlst
, hiclau_exp= hiexp
}
and hiclaulst = List hiclau
and hifundec = '{
hifundec_loc= loc_t
, hifundec_var= d2var_t
, hifundec_def= hiexp
}
and hifundeclst = List hifundec
and hivaldec = '{
hivaldec_loc= loc_t
, hivaldec_pat= hipat
, hivaldec_def= hiexp
}
and hivaldeclst = List hivaldec
and hivardec = '{
hivardec_loc= loc_t
, hivardec_knd= int
, hivardec_ptr= d2var_t
, hivardec_ini= hiexpopt
}
and hivardeclst = List hivardec
and hiimpdec = '{
hiimpdec_loc= loc_t
, hiimpdec_cst= d2cst_t
, hiimpdec_tmp= int
, hiimpdec_decarg= s2qualst, hiimpdec_tmparg= hityplstlst
, hiimpdec_def= hiexp
, hiimpdec_cstset= dyncstset_t
}
and hiimpdec_prf = '{
hiimpdec_prf_loc= loc_t
, hiimpdec_prf_cst= d2cst_t
, hiimpdec_prf_cstset= dyncstset_t
}
fun fprint_hilab {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hil: hilab): void
fun fprint_hilablst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hils: hilablst): void
fun fprint_hiexp {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hie: hiexp): void
fun print_hiexp (hie: hiexp): void
fun prerr_hiexp (hie: hiexp): void
fun fprint_hiexplst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hies: hiexplst): void
fun print_hiexplst (hies: hiexplst): void
fun prerr_hiexplst (hies: hiexplst): void
fun fprint_hiexplstlst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, hiess: hiexplstlst): void
fun fprint_labhiexplst {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, lhies: labhiexplst): void
fun hiexp_is_empty (hie: hiexp): bool
fun hiexp_is_value (hie: hiexp): bool
fun hiexp_let_simplify
(_: loc_t, _: hityp, _: hideclst, _: hiexp): hiexp
fun hiexp_seq_simplify
(_: loc_t, _: hityp, _: hiexplst): hiexp
fun hiexp_app
(_: loc_t, _app: hityp, _fun: hityp, hie: hiexp, hies: hiexplst)
: hiexp
fun hiexp_arrinit
(_: loc_t, _: hityp, hit_elt: hityp, ohie_asz: hiexpopt, hies_elt: hiexplst)
: hiexp
fun hiexp_arrsize
(_: loc_t, _: hityp, hit_elt: hityp, hies: hiexplst): hiexp
fun hiexp_assgn_ptr
(_: loc_t, _: hityp, _ptr: hiexp, hils: hilablst, _val: hiexp)
: hiexp
fun hiexp_assgn_var
(_: loc_t, _: hityp, _ptr: d2var_t, hils: hilablst, _val: hiexp)
: hiexp
fun hiexp_bool (_: loc_t, _: hityp, _: bool): hiexp
fun hiexp_caseof
(_: loc_t, _: hityp, knd: int, hies: hiexplst, hicls: hiclaulst)
: hiexp
fun hiexp_caseof_if
(loc0: loc_t, hit0: hityp, knd: int, hies: hiexplst, hicls: hiclaulst)
: hiexp
fun hiexp_castfn (_: loc_t, _: hityp, d2c: d2cst_t, hie: hiexp): hiexp
fun hiexp_char (_: loc_t, _: hityp, _: char): hiexp
fun hiexp_con
(_: loc_t, _: hityp, _sum: hityp, _: d2con_t, _arg: hiexplst)
: hiexp
fun hiexp_cst (_: loc_t, _: hityp, d2c: d2cst_t): hiexp
fun hiexp_cstsp (_: loc_t, _: hityp, cst: $Syn.cstsp): hiexp
fun hiexp_dynload (_: loc_t, _: hityp, _: fil_t): hiexp
fun hiexp_empty (_: loc_t, _: hityp): hiexp
fun hiexp_extval (_: loc_t, _: hityp, code: string): hiexp
fun hiexp_fix (
_: loc_t, _: hityp, knd: int, _fun: d2var_t, _body: hiexp
) : hiexp
fun hiexp_float (_: loc_t, _: hityp, _: string): hiexp
fun hiexp_floatsp (_: loc_t, _: hityp, _: string): hiexp
fun hiexp_freeat (_: loc_t, _: hityp, _: hiexp): hiexp
fun hiexp_if
(_: loc_t, _: hityp, _cond: hiexp, _then: hiexp, _else: hiexp)
: hiexp
fun hiexp_int
(_: loc_t, _: hityp, str: string, int: intinf_t): hiexp
fun hiexp_intsp
(_: loc_t, _: hityp, str: string, int: intinf_t): hiexp
fun hiexp_is_lam (hie: hiexp): bool
fun hiexp_lam
(_: loc_t, _: hityp, _arg: hipatlst, _body: hiexp): hiexp
fun hiexp_laminit
(_: loc_t, _: hityp, _arg: hipatlst, _body: hiexp): hiexp
fun hiexp_lazy_delay
(_: loc_t, _body: hityp, _eval: hiexp): hiexp
fun hiexp_lazy_vt_delay
(_: loc_t, _body: hityp, _eval: hiexp, _free: hiexp): hiexp
fun hiexp_lazy_force
(_: loc_t, _val: hityp, lin: int, _lazyval: hiexp): hiexp
fun hiexp_let (_: loc_t, _: hityp, _: hideclst, _: hiexp): hiexp
fun hiexp_loop (
_: loc_t
, _: hityp
, _init: hiexpopt
, _test: hiexp
, _post: hiexpopt
, _body: hiexp
) : hiexp
fun hiexp_loopexn (_: loc_t, _: hityp, i: int): hiexp
fun hiexp_lst
(_: loc_t, _lst: hityp, lin: int, _elt: hityp, _: hiexplst)
: hiexp
fun hiexp_ptrof_ptr
(_: loc_t, _: hityp, _ptr: hiexp, hils: hilablst): hiexp
fun hiexp_ptrof_var
(_: loc_t, _: hityp, _ptr: d2var_t, hils: hilablst): hiexp
fun hiexp_raise (_: loc_t, _: hityp, _: hiexp): hiexp
fun hiexp_rec
(_: loc_t, _: hityp, knd: int, _rec: hityp, _: labhiexplst)
: hiexp
fun hiexp_refarg
(_: loc_t, hit: hityp, refval: int, freeknd: int, _: hiexp): hiexp
fun hiexp_sel
(_: loc_t, _: hityp, hie: hiexp, hils: hilablst): hiexp
fun hiexp_sel_ptr
(_: loc_t, _: hityp, _ptr: hiexp, hils: hilablst): hiexp
fun hiexp_sel_var
(_: loc_t, _: hityp, _ptr: d2var_t, hils: hilablst): hiexp
fun hiexp_seq (_: loc_t, _: hityp, _: hiexplst): hiexp
fun hiexp_sif
(_: loc_t, _: hityp, _: hiexp, _: hiexp): hiexp
fun hiexp_sizeof (_: loc_t, _: hityp, _arg: hityp): hiexp
fun hiexp_string (_: loc_t, _: hityp, _: string, _: int): hiexp
fun hiexp_tmpcst
(_: loc_t, _: hityp, d2c: d2cst_t, _: hityplstlst): hiexp
fun hiexp_tmpvar
(_: loc_t, _: hityp, d2v: d2var_t, _: hityplstlst): hiexp
fun hiexp_top (_: loc_t, _: hityp): hiexp
fun hiexp_trywith
(_: loc_t, _: hityp, _: hiexp, _: hiclaulst): hiexp
fun hiexp_var (_: loc_t, _: hityp, _: d2var_t): hiexp
fun hilab_lab (_: loc_t, _lab: lab_t, _rec: hityp): hilab
fun hilab_ind (_: loc_t, _ind: hiexplstlst, _elt: hityp): hilab
fun himat_make (_: loc_t, _: hiexp, _: hipatopt): himat
fun hiclau_make
(_: loc_t, hips: hipatlst, gua: himatlst, body: hiexp): hiclau
fun hidec_list (_: loc_t, _: hideclst): hidec
fun hidec_saspdec (_: loc_t, _: s2aspdec): hidec
fun hidec_dcstdec (_: loc_t, _: $Syn.dcstkind, _: d2cstlst): hidec
fun hidec_datdec (_: loc_t, _: $Syn.datakind, _: s2cstlst): hidec
fun hidec_exndec (_: loc_t, _: d2conlst): hidec
fun hidec_extern (_: loc_t, position: int, code: string): hidec
fun hidec_extype (_: loc_t, name: string, _def: hityp): hidec
fun hidec_extval (_: loc_t, name: string, _def: hiexp): hidec
fun hifundec_make (_: loc_t, d2v: d2var_t, hie: hiexp): hifundec
fun hidec_fundecs
(_: loc_t, decarg: s2qualst, knd: $Syn.funkind, hids: hifundeclst)
: hidec
fun hivaldec_make (_: loc_t, hip: hipat, hie: hiexp): hivaldec
fun hidec_valdecs
(_: loc_t, knd: $Syn.valkind, hids: hivaldeclst): hidec
fun hidec_valdecs_par (_: loc_t, hids: hivaldeclst): hidec
fun hidec_valdecs_rec (_: loc_t, hids: hivaldeclst): hidec
fun hivardec_make
(_: loc_t, knd: int, d2v: d2var_t, ini: hiexpopt): hivardec
fun hidec_vardecs (_: loc_t, hids: hivardeclst): hidec
fun hiimpdec_make (
_: loc_t
, d2c: d2cst_t, tmp: int
, decarg: s2qualst, tmparg: hityplstlst, _def: hiexp
, _cstset: dyncstset_t
) : hiimpdec
fun hidec_impdec (_: loc_t, hid: hiimpdec): hidec
fun hiimpdec_prf_make
(_: loc_t, d2c: d2cst_t, _cstset: dyncstset_t) : hiimpdec_prf
fun hidec_impdec_prf (_: loc_t, hid: hiimpdec_prf): hidec
fun hidec_local (_: loc_t, _head: hideclst, _body: hideclst): hidec
fun hidec_staload (_: loc_t, _: fil_t, loadflag: int): hidec
fun hidec_dynload (_: loc_t, _: fil_t): hidec
abstype hityp_t abstype hityplst_t abstype hityplstlst_t
fun hityp_encode (hit: hityp): hityp_t
fun hityp_decode (hit: hityp_t): hityp
val hityp_t_ptr: hityp_t
val hityp_t_void: hityp_t
fun hityp_t_s2var (s2v: s2var_t): hityp_t
fun hityp_t_name_get (hit: hityp_t): hityp_name
fun hityp_t_is_void (hit: hityp_t): bool
fun hityp_t_fun_is_void (hit: hityp_t): bool
fun hityp_t_is_tyrecbox (hit: hityp_t): bool
fun hityp_t_is_tyrecext (hit: hityp_t): bool
fun hityp_t_is_tyrecsin (hit: hityp_t): bool
fun hityplst_encode (hits: hityplst): hityplst_t
fun hityplst_decode (hits: hityplst_t): hityplst
fun hityplst_is_nil (hits: hityplst_t): bool
fun hityplst_is_cons (hits: hityplst_t): bool
fun hityplstlst_encode (hits: hityplstlst): hityplstlst_t
fun hityplstlst_decode (hits: hityplstlst_t): hityplstlst
fun hityplstlst_is_nil (hitss: hityplstlst_t): bool
fun hityplstlst_is_cons (hitss: hityplstlst_t): bool
fun print_hityp_t (hit: hityp_t): void
fun prerr_hityp_t (hit: hityp_t): void
fun d2cst_hityp_get (_: d2cst_t): Option (hityp_t)
fun d2cst_hityp_set (_: d2cst_t, _: Option hityp_t): void
= "ats_dynexp2_d2cst_hityp_set"
fun d2cst_hityp_get_some (_: d2cst_t): hityp_t
abstype vartyp_t
fun vartyp_make (d2v: d2var_t, hit: hityp_t): vartyp_t
fun vartyp_typ_get (vtp: vartyp_t):<> hityp_t
fun vartyp_var_get (vtp: vartyp_t):<> d2var_t
fun eq_vartyp_vartyp (_: vartyp_t, _: vartyp_t):<> bool
overload = with eq_vartyp_vartyp
fun compare_vartyp_vartyp (_: vartyp_t, _: vartyp_t):<> Sgn
overload compare with compare_vartyp_vartyp
fun fprint_vartyp {m:file_mode}
(pf: file_mode_lte (m, w) | out: &FILE m, vtp: vartyp_t): void
fun print_vartyp (vtp: vartyp_t): void
fun prerr_vartyp (vtp: vartyp_t): void
typedef strlst = List string
datatype labstrlst =
| LABSTRLSTcons of (lab_t, string, labstrlst) | LABSTRLSTnil
datatype typkey =
| TYPKEYrec of labstrlst | TYPKEYsum of (int, strlst) | TYPKEYuni of labstrlst
fun typdefmap_find (tk: typkey): string
fun hityp_tyrec_make (fltboxknd: int, lhits: labhityplst): hityp_t
fun hityp_tysum_make (d2c: d2con_t, hits_arg: hityplst): hityp_t
fun hityp_normalize (hit: hityp): hityp_t
fun hityplst_normalize (hits: hityplst): hityplst_t
fun hityplstlst_normalize (hitss: hityplstlst): hityplstlst_t
fun hityp_s2var_normalize (s2v: s2var_t): Option_vt (hityp_t)
abstype tmpdef_t
fun tmpdef_make (decarg: s2qualst, def: hiexp): tmpdef_t
fun tmpdef_arg_get (def: tmpdef_t): s2qualst
fun tmpdef_exp_get (def: tmpdef_t): hiexp
fun tmpcstmap_add (d2c: d2cst_t, decarg: s2qualst, def: hiexp): void
fun tmpcstmap_find (d2c: d2cst_t): Option_vt tmpdef_t
fun tmpvarmap_add (d2v: d2var_t, decarg: s2qualst, def: hiexp): void
fun tmpvarmap_find (d2v: d2var_t): Option_vt tmpdef_t