class Rips::RipsLauncher
Public Class Methods
new()
click to toggle source
@argv: input's arguments @debug: switch to show trace in console @source: source file with Rips
instructions @output: output file with binary instructions
# File lib/rips.rb, line 12 def initialize @argv = ARGV @debug = debug_mode? @source = source_file @output = output_file run end
Private Instance Methods
debug_mode?()
click to toggle source
Check debug mode
# File lib/rips.rb, line 24 def debug_mode? @argv.include?("-d") || @argv.include?("--debug") end
output_file()
click to toggle source
Check cmdline options (now only output)
# File lib/rips.rb, line 38 def output_file if @argv.include?("-o") out = @argv[(@argv.index("-o"))+1] Error::message(9) if out.nil? || out == @source || out == "-d" || out == "--debug" return out else return "progfile.dat" end end
read()
click to toggle source
Read input file
# File lib/rips.rb, line 49 def read File.open(@source, "r") do |f| f.each_line do |line| @rips << line end end end
run()
click to toggle source
Launch Rips
assembler
# File lib/rips.rb, line 58 def run @rips = Assembler.new(@debug) read @rips.run(@output) end
source_file()
click to toggle source
Check if it's a valid input file
# File lib/rips.rb, line 29 def source_file source = @argv.find{|x| /\.rips$/ =~ x } Error::message(1) if source.nil? Error::message(2) if !File.exist?(source) Error::message(3) if !File.readable?(source) return source end