When I use fram-c to write parser. I encountered a problem that Ast.get() returns the type Cil_types.file but I need Cil.file for future use. They are actually has the same fields, but the ocaml compiler just not let the direct assignment from Cil_types.file to Cil.file. Is there any type cast functions in Ocaml can help me do this.
Ps: I try to assign each field of Cil_types.file to Cil.file, but the same problem happens recursively (do not allow Cil.file.* = Cil_types.file.*). I really appreciate your help!
In
Frama-C
, there is noCil_types.file
type. Maybe you are mixingFrama-C
with the originalCil
?