Ocaml を使用して小さなコンパイラを作成しています。私はAstをタイプチェックしてからSastに入れたいです。
しかし、次のように常にエラーが発生します。
File "typecheck_debug.ml", line 93, characters 28-35:
Error: This expression has type Sast.var_decl
but an expression was expected of type Ast.var_decl
コードは次のとおりです。
let rec trans_lval env = function
Ast.Id(n) -> let vdecl = (find_variable env.scope n) in
Sast.Id(vdecl), vdecl.vvtype
ocamllex scanner.mll
ocamlyacc parser.mly
ocamlc -c ast.mli
ocamlc -c parser.mli
ocamlc -c scanner.ml
ocamlc -c parser.ml
ocamlc -c sast.mli
ocamlc -c typecheck_debug.ml
私はなぜなのか理解していない。プロジェクトのプロセスに何か問題がありますか?