# 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