*** empty log message ***
authornisikimi <nisikimi>
Wed, 20 Sep 2006 08:22:21 +0000 (08:22 +0000)
committernisikimi <nisikimi>
Wed, 20 Sep 2006 08:22:21 +0000 (08:22 +0000)
utils/usr_filter.rb

index 10d4094..cade553 100755 (executable)
@@ -2,6 +2,7 @@
 
 buf = [] 
 doxy = 0
+example = 0
 
 def commentblock(buf)
     unless buf == []   
@@ -22,36 +23,49 @@ while gets
  #make variables in function descriptions shown in bold
   gsub!(/\$[A-Z_]+/) {|m| m.delete!("$").reverse.downcase!.concat(" b@").reverse}
 
-   case  $_
-     when /^\s*$/
-       if doxy == 1 
-           buf.push($_)
-          end
-     when /\/\*=\*\// 
-       commentblock(buf)
+  if example == 1
+     case $_ 
+      when /#endif/
+        buf.push($_.gsub!(/#endif/, "@endcode"))
+       example = 0
+      else     
+        buf.push($_)
+    end
+
+    else  # when example == 0
+
+     case  $_
+
+      when /^\s*$/                         
+        if doxy == 1                       # empty line in doxygen comment
+            buf.push($_)
+           end
+
+      when /\/\*=\*\//                      #/*=*/ (flush)
+       commentblock(buf)
        buf = []
-   
-     when /^\/\*\s.*\*\//      # /* comment */ type comment
-       if doxy == 1            
-         # should be included only in the example code
-         ## We used to do the following substituion as a workaround of
-         ## a Doxygen bug.
-         ## buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//"))
-         buf.push($_)
-       end
 
-     when /\/\*\s.*\*\//       # code + /* comment */ type comment
-       if doxy == 1            
-         # should be included in the example code
-         ## See the above comment.
-         ## buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//"))
-         buf.push($_) # should be included in the example code
-       else
+      when /^\/\*\s.*\*\//     # /* comment */ type comment 
+#      if doxy == 1            
+#        # should be included only in the example code
+#        ## We used to do the following substituion as a workaround of
+#        ## a Doxygen bug.
+#        ## buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//"))
+#        buf.push($_)
+#      end
+
+      when /\/\*\s.*\*\//      # code + /* comment */ type comment
+#      if doxy == 1            
+#        # should be included in the example code
+#        ## See the above comment.
+#        ## buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//"))
+#        buf.push($_) # should be included in the example code
+#      else
           if doxy == 0 
            commentblock(buf)
            buf = []
            print $_.gsub!(/\/\*\s.*\*\//," ") # should be omiited in code
-         end
+#        end
        end
 
      when /\/\*{2,3}ja.*\*\//  #japanese one liner
@@ -72,18 +86,10 @@ while gets
        doxy = 1
 
      when /EXAMPLE_CODE/ 
+       #start example code lines
         buf.push($_.gsub!(/#if EXAMPLE_CODE/, "\n \n @par Example:\n @code"))
-       doxy = 1
+       example = 1
 
-     when /#endif/
-       if doxy == 1
-           buf.push($_.gsub!(/#endif/, "@endcode"))
-       else
-           commentblock(buf)
-          buf = []
-          print $_
-       end
-        doxy = 0
      when /\*\//
        if doxy == 1
            buf.push($_.gsub!(/\*\//, " "))
@@ -99,6 +105,7 @@ while gets
           buf = []
           print($_)
         end
+     end       
    end
 end