请问有没有人能写个 sed 或是 awk 小程式
我需要移除 Verilog 里面的注解.
1. " // " 之后的文字都要移除,但同一行若前面有字则必须留下.
ex:
reg [7:0] mem; // this is memory
变成 reg [7:0] mem;
2. /* this is a comment */ 将这种注解移除,同一行内若有其他字则不可移除.
如:
a. reg [7:0] addr; /* this is address */
变成 reg [7:0] addr;
b. .addr(ADDR), /* xyzabc */ .data(DATA), .we(WE) );
变成 .addr(ADDR), .data(DATA), .we(WE) );
感谢大家的指导.
sed 's/\(.*\)\s\/\/.*$/\1/g'sed 's/\/\*.*\*\///g'
作者:
bitlife (BIT一生)
2015-03-04 19:40:00不清楚verilog,用c语言为例,移除注解不能只靠正规式,因为字串中有可能有 //或/*或*/,另外就是可能有巢状注解之类,如果真要用正规式,要先确定上面说的情况不会发生漏了一个状况,就是/* */当中有包含//,而*/之后又有字前面的巢状注解是指 /* /* */ */ 这种状况
作者:
carylorrk (carylorrk)
2015-03-04 21:57:00用 gcc -fpreprocessed -E? verilog 应该也可以XD
实作时碰上问题蛮多的.多行注解时中间行无法判断.还有同一行有两区块注解时也会误判把中间有用的误删.n3大大的那两条RE有办法删除部分,但会有漏网之鱼cary的方法也行得通,但副档名要改成.c,只是仍有漏网
作者:
lc85301 (pomelocandy)
2015-03-05 11:56:00真好奇为什么要把注解拿掉
作者:
suyuan (硕源)
2015-03-05 13:32:00我也很好奇为什么要把注解拿掉?
给自己看的当然不需要这样,懂?coding过程中会加一大堆注解提醒自己 但设计完成之后你不得不开放给别人看的时候,有些想法你不一定希望看的人知道,所以放到公共的地方希望是没有注解的.
作者:
lc85301 (pomelocandy)
2015-03-08 12:30:00不懂,公开原始码就是公开自己的想法,留着注解也能更快让他们知道你想做什么,何必多此一举拿掉注解?提醒自己同样也可以提醒读者
作者:
bibo9901 (function(){})()
2015-03-08 22:26:00有人会在注解里写日记啊(认真)
作者:
suyuan (硕源)
2015-03-10 00:34:00那样有必要“全部”拿掉吗?