summaryrefslogtreecommitdiff
path: root/jni/ruby/tool/strip-rdoc.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/tool/strip-rdoc.rb')
-rwxr-xr-xjni/ruby/tool/strip-rdoc.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/jni/ruby/tool/strip-rdoc.rb b/jni/ruby/tool/strip-rdoc.rb
new file mode 100755
index 0000000..1902cb5
--- /dev/null
+++ b/jni/ruby/tool/strip-rdoc.rb
@@ -0,0 +1,23 @@
+#!ruby
+
+ARGF.binmode
+source = ARGF.read
+source = source.gsub(%r{/\*([!*])((?!\*/).+?)\*/}m) do |comment|
+ marker, comment = $1, $2
+ next "/**#{comment}*/" unless /^\s*\*\s?\-\-\s*$/ =~ comment
+ doxybody = nil
+ comment.each_line do |line|
+ if doxybody
+ if /^\s*\*\s?\+\+\s*$/ =~ line
+ break
+ end
+ doxybody << line
+ else
+ if /^\s*\*\s?--\s*$/ =~ line
+ doxybody = "\n"
+ end
+ end
+ end
+ "/*#{marker}#{doxybody}*/"
+end
+print source