Sha256: 6948274d880ef876cbf885aebe2d0dceb21d17022348db9d1b64854803e85280
Contents?: true
Size: 1.41 KB
Versions: 5
Compression:
Stored size: 1.41 KB
Contents
module Qlang module Exec class Compiler def initialize(args) @args = args end def output! ch_compile_type(@args.first) parse_string = parse(@args[1]) write!(@args[2], parse_string) rescue Exception => e raise e if @options[:trace] || e.is_a?(SystemExit) print "#{e.class}: " unless e.class == RuntimeError puts "#{e.message}" puts " Use --trace for backtrace." exit 1 ensure exit 0 end private def ch_compile_type(lang) case lang when '-rb' Qlang.to_ruby when '-r' Qlang.to_r when '-py' Qlang.to_python else print 'Q support only Ruby and R now.' end end def parse(file_path) file = open_file(file_path) input_string = read_file(file) file.close input_string.gsub(/(.*)I love mathematics\.(.*)Q\.E\.D(.*)/m) { "#{$1}#{Kconv.tosjis(Qlang.compile($2))}#{$3}" } end def write!(output_path, string) open(output_path, 'w') do |f| f.puts string end end def open_file(filename, flag = 'r') return if filename.nil? File.open(filename, flag) end def read_file(file) file.read end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
qlang-0.0.27182123 | lib/qlang/exec.rb |
qlang-0.0.27182122 | lib/qlang/exec.rb |
qlang-0.0.27182121 | lib/qlang/exec.rb |
qlang-0.0.27182120 | lib/qlang/exec.rb |
qlang-0.0.27182110 | lib/qlang/exec.rb |