Ocaml 如何将数据类型从Cil_类型转换为Cil

Ocaml 如何将数据类型从Cil_类型转换为Cil,ocaml,static-code-analysis,frama-c,Ocaml,Static Code Analysis,Frama C,当我使用fram-c编写解析器时。我遇到一个问题,Ast.get()返回Cil_types.file类型,但我需要Cil.file以备将来使用。它们实际上具有相同的字段,但ocaml编译器不允许从Cil_types.file直接赋值到Cil.file。 Ocaml中是否有任何类型转换函数可以帮助我做到这一点 附言: 我尝试将Cil_types.file的每个字段分配给Cil.file,但同样的问题会递归发生(不允许Cil.file.*=Cil_types.file.*)。 非常感谢您的帮助!在F

当我使用fram-c编写解析器时。我遇到一个问题,Ast.get()返回Cil_types.file类型,但我需要Cil.file以备将来使用。它们实际上具有相同的字段,但ocaml编译器不允许从Cil_types.file直接赋值到Cil.file。 Ocaml中是否有任何类型转换函数可以帮助我做到这一点

附言: 我尝试将Cil_types.file的每个字段分配给Cil.file,但同样的问题会递归发生(不允许Cil.file.*=Cil_types.file.*)。
非常感谢您的帮助!

Frama-C
中,没有
Cil\u类型。文件
类型。也许您将
Frama-C
与原始的
Cil

您好,最初,我还认为Cil_types.file和Cil.file不应在同一个文件中使用。但是,函数Ast.get()将返回中定义的Cil_type.file(),函数computeGraph()将需要一个Cil.file作为输入。我能做些什么来转换这两个实际上相同的数据类型呢?实际上,我遇到这个问题的原因是,我目前正在修改一个用Frama-c-Limition_20081201版本编写的项目。它使用computeGraph(Cil_state.file)。但是在Frama-c的下一个版本中,它将Cil_状态更改为Ast,将Cil_state.file更改为Ast.get()。将返回类型更改为Cil_types.file。我不知道如何填补这个空白:(也许你可以试着在bin/中按原子元素的顺序运行脚本,这会完成大部分转换。脚本Litium2Beryllium似乎可以做你想做的。谢谢你的建议,但是我如何才能找到Litium2Beryllium,我没有在frama-c文件夹中找到它?它在frama-c发行版的bin文件夹中。