我正在查看为 C 的极其精简版本编写的编译器。我是 ocaml 的新手,对这种结构特别困惑
let check (globals, functions) =
(* A bunch of stuff abstracted out *)
let check_function ...
.... (*A b bunch of stuff abstracted out*)
in (globals, List.map check_function functions)
其中 globals 是 (var_type, var_name) 的列表,functions 是函数记录。我没有发布整个文件(它很长),我的问题只是关于最外面的 let 语句。
我一直只看到简单的 let 语句,你可能有类似的东西
let name = expr1 in expr2
那么当你有时是什么意思
let name(param1, param2) = expr1 in (param1, expr1 param2)
有点像我这里的?