mirror of
https://github.com/samsonjs/compiler.git
synced 2026-03-25 08:45:52 +00:00
25 lines
409 B
Ruby
25 lines
409 B
Ruby
require 'interpreter'
|
|
require 'stringio'
|
|
|
|
def error(msg) STDERR.puts(msg) end
|
|
|
|
def eval(input)
|
|
interpreter = Interpreter.new(input)
|
|
interpreter.run
|
|
|
|
rescue ParseError => e
|
|
error("[error] #{e.message}")
|
|
error("Aborting!")
|
|
exit(1)
|
|
end
|
|
|
|
def main(arg)
|
|
input = if File.readable?(arg)
|
|
File.open(arg)
|
|
else
|
|
STDIN
|
|
end
|
|
puts(eval(input))
|
|
end
|
|
|
|
main(ARGV[0].to_s)
|