# File lib/ruby-vpi/verilog_parser.rb, line 108
108:   def verilog_to_ruby
109:     content = self.dup
110: 
111:     # single-line comments
112:       content.gsub! %r{//(.*)$}, '#\1'
113: 
114:     # multi-line comments
115:       content.gsub! %r{/\*.*?\*/}m, "\n=begin\n\\0\n=end\n"
116: 
117:     # preprocessor directives
118:       content.gsub! %r{`include}, '#\0'
119: 
120:       content.gsub! %r{`define\s+(\w+)\s+(.+)} do
121:         "#{$1.to_ruby_const_name} = #{$2}"
122:       end
123: 
124:       content.gsub! %r{`+}, ''
125: 
126:     # numbers
127:       content.gsub! %r{\d*\'([dohb]\w+)}, '0\1'
128: 
129:     # ranges
130:       content.gsub! %r{(\S)\s*:\s*(\S)}, '\1..\2'
131: 
132:     content
133:   end