ダァシェリェス

ブレインファック系の言語はそろそろゲップが出そうな感じだけども、たまにはやってみようかと思ったが入力が思いの外めんどくさいので中間言語(ってほどでも無いが)にしてみた。

syelies=<<EOS
inc
incd*H
inc
incd*e
inc
incd*l
inc
incd*l
inc
incd*o
inc
incd* 
inc
incd*W
inc
incd*o
inc
incd*r
inc
incd*l
inc
incd*d
inc
incd*!
do
dec
wh
inc
do
put
inc
wh
EOS

dic={
"incd"=>"ダァ", #buf[ptr] += 1
"decd"=>"ダア", #buf[ptr] -= 1
"inc"=>"シェリ", #ptr += 1
"dec"=>"シエリ", #ptr -= 1
"put"=>"イェス", #print chr(buf[ptr])
"get"=>"イエス", #input ord(buf[ptr]) …ただしこれはWeb版のため無効
"do"=>"!", #do{
"wh"=>",", #}while(buf[ptr]!=0)
}

syelies.each_line {|ln|
	v = ln.chomp.scan(/(\w+)(\*?)(.?)/)[0]
	op = dic[v[0]]
	if op
		t = 1
		t = v[2][0] if v[2]!=""
		t.times {print op}
	end
}
ダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァシェリダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァシェリダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァシェリダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァシェリダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァダァ!シエリ,シェリ!イェスシェリ,

http://lyia.net/kq.php

メタ言語で記述するとまるで面白くもなんとも無くなってしまうのが微妙。。。