rubynode
rubyの構文、特にコメントを解析したくなってrubynodeというgemを見つけました。最後のメンテが2年前だけど。
http://rubynode.rubyforge.org/
ruby-1.8.6-p399で確認しました。
require "rubynode" #=> false code = <<EOS #aaaaaaaaaa # bbbbbb def foo puts "AAA" end def bar(*args) puts args.inspect end EOS #=> " #aaaaaaaaaa\n # bbbbbb\n def foo\n puts \"AAA\"\n end\n def bar(*args)\n puts args.inspect\n end\n" code.parse_to_nodes.transform #=> [:block, [[:defn, {:defn=>[:scope, {:rval=>false, :tbl=>nil, :next=>[:block, [[:args, {:rest=>false, :cnt=>0, :opt=>false}], [:fcall, {:mid=>:puts, :args=>[:array, [[:str, {:lit=>"AAA"}]]]}]]]}], :noex=>2, :mid=>:foo}], [:defn, {:defn=>[:scope, {:rval=>false, :tbl=>[:args], :next=>[:block, [[:args, {:rest=>[:lasgn, {:vid=>:args, :value=>false, :cnt=>2}], :cnt=>0, :opt=>false}], [:fcall, {:mid=>:puts, :args=>[:array, [[:call, {:mid=>:inspect, :recv=>[:lvar, {:vid=>:args, :cnt=>2}], :args=>false}]]]}]]]}], :noex=>2, :mid=>:bar}]]]
残念ながらコメントの情報は失われているけど、そういうもんなの?