问题标签 [berkeley-cil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
317 浏览

ocaml - 在 CIL (OCaml) 中打印

我想打印 CIL 结构,例如Cil.instr 根据 CIL API,它有一个类似 eg 的函数Cil.d_instr,我可以用它来打印到 Errormsg,例如Errormsg.log "Instruction: %a\n" d_instr i; 我想将它的值存储在一个变量中。我试过了:

但是,这会导致类型不匹配编译错误。谁可以帮我这个事?谢谢!

0 投票
1 回答
263 浏览

ocaml - 如何获取 Cil 指令(OCaml)中的所有变量?

我想在 CIL 中添加一条带有注释的指令。在此评论中,我想显示该指令中的所有变量。我写了一个 OCaml 模块来使用 CIL 驱动程序。代码看起来像

在匹配中,如何迭代 ? 中的所有变量instr i?例如,通过指令x[i] = y[j] * (z[k] + l);,我想获取变量的名称x, i, y, j, z, k, l
谢谢你的帮助。

0 投票
1 回答
76 浏览

ocaml - 为什么这个 e/lval 的类型在 CIL 中是 int?

我是 CIL 的新手,我正在尝试修改 CIL 的扩展。

这是我正在处理的 C 代码的一部分:

我正在使用 CIL 打印出 lval 的类型(我也尝试打印出正确表达式的类型)

这是代码:

令我惊讶的是,它产生的结果是:

我试图打印出正确表达式的类型,结果也是:

我不明白为什么找不到指针类型的用法?

谁能给我一些帮助?