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

时间:2012-05-07 04:48:23

标签: c perl parsing

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

的语句
printf ("%d => Hello",x);

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

2 个答案:

答案 0 :(得分:11)

世界上没有工具只能使用行printf ("%d => Hello",x);可靠地找到x的值。该值取决于之前的行,也可能取决于用户输入,而根本不在源代码中。

修改

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

答案 1 :(得分:7)

没有。想一想:

int x = rand();
printf("%d", x);

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