# File lib/ruby-vpi/verilog_parser.rb, line 70
70:   def verilog_to_ruby
71:     content = self.dup
72: 
73:     # single-line comments
74:       content.gsub! %r{//(.*)$}, '#\1'
75: 
76:     # multi-line comments
77:       content.gsub! %r{/\*.*?\*/}m, "\n=begin\n\\0\n=end\n"
78: 
79:     # preprocessor directives
80:       content.gsub! %r{`include}, '#\0'
81: 
82:       content.gsub! %r{`define\s+(\w+)\s+(.+)} do
83:         "#{$1.to_ruby_const_name} = #{$2}"
84:       end
85: 
86:       content.gsub! %r{`+}, ''
87: 
88:     # numbers
89:       content.gsub! %r{\d*\'([dohb]\w+)}, '0\1'
90: 
91:     # ranges
92:       content.gsub! %r{(\S)\s*:\s*(\S)}, '\1..\2'
93: 
94:     content
95:   end