Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.Char
- import System.Environment
- main=getArgs>>=(mapM$putStr.g(z,z)[])
- z=0:z
- n#(']':s)|n==0=s|m<-n-1=m#s
- n#(a:s)|a>'Z'=(n+1)#s|1>0=n#s
- g(n:l,r)c('<':s)=g(l,n:r)c s
- g(l,n:r)c('>':s)=g(n:l,r)c s
- g a@(n:l,r)c('.':s)=chr n:g a c s
- g a c x@('[':s)|(0:_,_)<-a=g a c(0#s)|1>0=g a(x:c)s
- g a(x:c)(']':_)=g a c x
- g(n:l,r)c(i:s)=g(n+44-ord i:l,r)c s
- g _ _[]=[]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement