我正在查看用于创建 LLVM IR 的 codegen.ml 文件。我对 Ocaml 不熟悉,所以只需要澄清一下
let i32_t = L.i32_type context
and float_t = L.double_type context
let ltype_of_typ = function
A.Int -> i32_t
| A.Float -> float_t
in
let global_vars : L.llvalue StringMap.t =
let global_var m (t, n) =
let init = match t with
A.Float -> L.const_float (ltype_of_typ t) 0.0
所以对于这条线
A.Float -> L.const_float (ltype_of_typ t) 0.0
“->”后面的东西是干什么的?是否将 0.0 转换为浮点数?