有没有办法使用perl解析C程序文件

cha*_*itu 2 c perl parsing

我想使用perl解析C程序文件(.c扩展名).我希望解析以这样的方式完成,就像示例c程序可能包含语句一样

printf ("%d => Hello",x);
Run Code Online (Sandbox Code Playgroud)

令x为程序中的整数变量.所以当我解析上面的行时,有没有办法获得x值.记住,我只想解析一行并得到x的值,我无法解析任何前面的行来获得x的值.有没有办法动态获取x的实际值,或者解析对象文件更好.

MBy*_*ByD 11

世界上没有工具可以printf ("%d => Hello",x); 仅使用线路可靠地找到x的值.该值取决于之前的行,也可能取决于用户输入,这完全不在源代码中.

编辑

另一方面,有很多工具可以使用C代码,例如静态分析器,调试器,解释器等.您可能想要查找其中一个选项.

  • 当然,使用解析器找到`x`的值会因为停机问题而变得复杂...... (4认同)

Ash*_*she 7

不,想一想:

int x = rand();
printf("%d", x);
Run Code Online (Sandbox Code Playgroud)

如果x没有运行程序,你怎么可能知道什么?