#!/usr/bin/ruby -w # BF interpretor, optimized for size. b = { "+" => "t[p]+=1", "-" => "t[p]-=1", "<" => "p-=1", ">" => "p+=1", "[" => "while t[p]!=0", "]" => "end", "," => "if c=STDIN.getc;t[p]=c.ord;else;t[p]=-1;end", "." => "print t[p].chr", } eval "t=Array.new(30000,0);" + "p=0;" + ARGF.read.chars.map{|i| b[i] ? b[i] : ""} * ";"