用于将注释行从c ++更改为Ansi C样式的Perl脚本

时间:2013-07-18 05:52:26

标签: scripting

我有多个C源文件。在这些文件中,注释以C ++样式使用(即//)。这些我想改变c风格(/ * * /)。不是手动更改它,而是有任何脚本来执行此操作。如果有的话,请告诉我,我将非常感谢你。

1 个答案:

答案 0 :(得分:0)

快速而肮脏的解决方案是sed 's=//\(.*\)$=/*\1 */=

此解决方案不健壮,因为//可能出现在字符串甚至其他注释中。

强大的解决方案需要(部分)C词法分析器。但是,有人可能会说这个问题没有真正的解决方案,因为这两种类型的注释是不兼容的。

http://lua-users.org/lists/lua-l/2013-04/msg00310.html开始考虑这个例子。

int x = 5 //* strange construction */ + 5
      + 5;

x在旧式ANSI C中为6,如果编译器接受'//'注释,则为10。