移除 Verilog comments. - Linux

Table of Contents

請問有沒有人能寫個 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) );

感謝大家的指導.

--

All Comments

William avatarWilliam2015-03-04
sed 's/\(.*\)\s\/\/.*$/\1/g'
Belly avatarBelly2015-03-08
sed 's/\/\*.*\*\///g'
Hardy avatarHardy2015-03-12
不清楚verilog,用c語言為例,移除註解不能只靠正規式,因為
字串中有可能有 //或/*或*/,另外就是可能有巢狀註解之類,
Michael avatarMichael2015-03-14
如果真要用正規式,要先確定上面說的情況不會發生
Ingrid avatarIngrid2015-03-18
漏了一個狀況,就是/* */當中有包含//,而*/之後又有字
Rachel avatarRachel2015-03-19
前面的巢狀註解是指 /* /* */ */ 這種狀況
Faithe avatarFaithe2015-03-19
用 gcc -fpreprocessed -E? verilog 應該也可以XD
Ida avatarIda2015-03-23
推樓上,兩個註解應該一樣 XD
George avatarGeorge2015-03-28
實作時碰上問題蠻多的.多行註解時中間行無法判斷.還
Isabella avatarIsabella2015-04-02
有同一行有兩區塊註解時也會誤判把中間有用的誤刪.
Ivy avatarIvy2015-04-06
n3大大的那兩條RE有辦法刪除部分,但會有漏網之魚
Annie avatarAnnie2015-04-07
cary的方法也行得通,但副檔名要改成.c,只是仍有漏網
Dorothy avatarDorothy2015-04-11
真好奇為什麼要把註解拿掉
Puput avatarPuput2015-04-12
我也很好奇為什麼要把註解拿掉?
Delia avatarDelia2015-04-12
給自己看的當然不需要這樣,懂?
Elizabeth avatarElizabeth2015-04-13
coding過程中會加一大堆註解提醒自己 但設計完成之
Susan avatarSusan2015-04-16
後你不得不開放給別人看的時候,有些想法你不一定希
Eden avatarEden2015-04-18
望看的人知道,所以放到公共的地方希望是沒有註解的.
Jacky avatarJacky2015-04-22
不懂,公開原始碼就是公開自己的想法,留著註解也能更快
讓他們知道你想做什麼,何必多此一舉拿掉註解?
Hedwig avatarHedwig2015-04-26
提醒自己同樣也可以提醒讀者
Steve avatarSteve2015-04-27
有人會在註解裡寫日記啊(認真)
Ingrid avatarIngrid2015-04-28
那樣有必要「全部」拿掉嗎?