用于查找已注释掉的VHDL代码的工具

Bri*_*ton 5 comments vhdl

这个问题提出了一般性问题.我特别询问VHDL,因为提出问题答案的工具是针对Java和PL/SQL的.它不需要是完美的,一些手动解释会很好.我这样做是为了自动提交任务.

编辑3/9/11:@phillipe指出自动提交任务与手动解释不一致.我正在努力鼓励其他工程师摆脱代码并看到他们做到了.我猜一个悲观的工具对于提交会更好; 如果它错过了一些不是世界末日的代码.或者我可以报告这些行的数量并通过电子邮件发送给我,而不是停止提交.

Bri*_*ton 1

这是我到目前为止使用的

egrep  "^\s*--.*[;,]$" *.vhd
Run Code Online (Sandbox Code Playgroud)

即,查找可能有空格、然后是文本并以 ; 结尾的行。或者 ,。我发现注释中的逗号是正常的,但这两个字符经常被注释掉代码,因为它们经常在 VHDL 行的末尾使用。

使用@Freddy Mallet 在引用的关键字中建议的内容,我想出了这个。我尝试使用英语中不常用的 VHDL 关键字。这对于相同的代码往往效果很好,但在诸如“process for ...”之类的注释上遇到了麻烦。您可能希望使用egrep -f 并将正则表达式放入文件中。

  egrep "^\s*--.*([;,]$|\s(architecture|array|assert|begin|block|case|component|downto|elsif|entity|generate|generic|inout|library|null|package|port|range|records|select|signal|type|until)\s)" src/*.vhd    
Run Code Online (Sandbox Code Playgroud)