1#!ruby 2 3source = ARGF.read 4source = source.gsub(%r{/\*([!*])((?!\*/).+?)\*/}m) do |comment| 5 marker, comment = $1, $2 6 next "/**#{comment}*/" unless /^\s*\*\s?\-\-\s*$/ =~ comment 7 doxybody = nil 8 comment.each_line do |line| 9 if doxybody 10 if /^\s*\*\s?\+\+\s*$/ =~ line 11 break 12 end 13 doxybody << line 14 else 15 if /^\s*\*\s?--\s*$/ =~ line 16 doxybody = "\n" 17 end 18 end 19 end 20 "/*#{marker}#{doxybody}*/" 21end 22print source 23