Brainf(略)という言語を視覚的に分かりやすく という事を目的に作成しました。 言語名はここでは書けません。 画面上ではメモリが、中央にはコードが出ます。 緑の箇所がそれぞれポインタと実行箇所です。 メモ欄にFizzBuzzのコードが載っています。 コピペ等で使ってください。 ...この言語に分かりやすさなんてね。 自分につっこみたい。
0 ++++++[-> //6回の繰り返し 1 ++++>> //{2}は無視 =0 3 +> //{3}に1加算 =6 4 +> //{4}に1加算 =6 5 -<<<<< //{5}を1減算 =250 0 ]> 1 [< //{1}=24回の繰り返し 0 ++++>> //{0}に4加算 =96 2 +++> //{2}に3加算 =72 3 ++++>> //{3}に4加算 =102 5 +++> //{5}に3加算 =66 6 +++++> //{6}に5加算 =120 7 +++++>>>>>> //{7}に5加算 =120 13 ++>> //{13}に2加算 =48 15 ++<<<<<<<<<<<<<< //{15}に2加算 =48 1 -]< 0 ++++> //{0}に4加算 =100 1 +++> //{1}に3加算 =3 2 --> //{2}を2減算 =70 3 +++> //{3}を3加算 =105 4 ->> //{4}を1減算 =5 6 ---> //{6}を3減算 =117 7 ++>>> //{7}を2加算 =122 10 +++++[-> //{10}=5回の繰り返し 11 ++> //{11}に2加算 =10 12 ++<< //{12}に2加算 =10 10 ]<<<<<<<<<< /* 値について 0 100 //繰り返し用と思う 1 3 //3の倍数判定 2 'F' //Fizz用 3 'i' //〃 4 5 //5の倍数判定 5 'B' //Buzz用 6 'u' //〃 7 'z' //両方用 9 //0兼10の倍数フラグ 10 0 //3の倍数or5の倍数で立つフラグ 11 10 //10回繰り返す用 12 10 //10の倍数判定用 13 '0' //10進表記用?下位 14 0 //10以上フラグ 15 '0' //10進表記用?上位 */ 0 [-> //100回の繰り返し 1 -[>>>>>>> //{1}を1減算し0以外なら8に移動 1 ]> //どちらでも右移動 2|9 [< //3の倍数の場合処理を実行 1 +++> //{1}を3にリセット 2 .> //Fを出力 3 .>>>> //iを出力 7 ..>>> //zzを出力 10 +< //{10}に1加算し処理を合流 9 ]<<<<< //4に移動 4 -[>>>> //{4}を1減算し0以外なら8に移動 4 ]> //どちらでも右移動 5|9 [< //5の倍数の場合処理を実行 4 +++++> //{4}を5にリセット 5 .> //Bを出力 6 .> //uを出力 7 ..>>> //zzを出力 10 +< //{10}に1加算し処理を合流 9 ]>>>> //13に移動 13 +< //13に1を加算 12 -[<<< //12を1減算し0以外なら9に移動 9 ]< //どちらでも左移動 8|11 [ //10の倍数の時処理を実行 11 [-<< //{11}を1減算し9に移動 9 +>> //{9}に1を加算 11 ]>>> //14に移動 14 +> //{14}に1加算 15 +<<<<<< //{15}に1加算 9 [->> //9に値があればフラグを消し実行 11 +> //{11}に1加算 12 +> //{12}に1加算 13 -<<<< //{13}を1減算 9 ]< //9に合流 8 ]>> //合流 10 [ //FizzBuzzフラグがあれば実行 10 [-]< //フラグリセット 9 ]> //10に移動 10|11 [>>> //FizzBuzzフラグが無ければ実行 14 [> //10以上の時 15 .<< //10の位を出力 13 .<<< //1の位を出力 10 ]< //10以上の時回避 9|13 [.<<<< //1の位を出力 9 ]> 10 ]<<<<<<<<<< //0に移動 0 ]