スイーツプログラミング言語「Brainsweets」

まり花だよっ!

きのう学校で「プログラミング」っていうのをやったんだけど
すっごくすっごく難しかったんだよっ。

イブもさきちゃんも全然わかんないって言っててね、
放課後3人で宿題やってもなかなか進まないから
めうめうこういうの詳しいかなって聞いてみたんだよっ。

めうめうは怖い顔して「むむむ……こりはぐっるぐるのスパゲッティなり……」って
画面の前で固まっちゃった。

そしたら、横からりんちゃんが「貴方みたいなスイーツ脳でもできるような言語があるわ」って教えてくれたの。

えへへ。これわたしにぴったりだよ!ありがとうりんちゃん!

まりか

 

 

というわけで倉野川からこんにちは、二条せらふ(@seraph_2)です。
最近飲んでおいしかったのは 元帥酒造の新にごり酒 です。

 

巷で流行中のプログラミング。小学校でも必修化されたみたいですね。
今回はまり花ちゃんにもわかりやすい言語をつくってみました。

手前味噌ですがここで試すことができます。記事を読みながら一緒にやってみてください。

srph.net

 

 

 

言語仕様

ゼロから開発するのはまあ無理なので、今回は構造が簡単な言語として有名な「Brainf**k」*1を改造して作ることにしました。

BFの仕様について詳しくはググってください

BFの8つの命令をスイーツな単語に置き換えました。一応チューリング完全性は維持されているはずです。

 

命令の対応関係



 

 

Hello World!

さっそくみんな大好きな「Hello World!」を出力してみましょう。

BFで「Hello World!」を出力するコードはこれです*2

 

>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.

 

オー、ファ○ク。

この時点で最高にイカれてるのですがその点に目を瞑りながらコピペで貼り付けます。

1段目に貼り付け

「スイーツ化」のボタンを押すとこんな怪文書スイーツなコードが出てきます。

 

絶対ふおおおおおおおおおおおおわーいすっごくふおおおおおおおおおおお絶対ふぉおおおえへへすっごく大丈夫だよっ絶対ふおおおおおおおおおおわーいすっごくふおおおおおおお絶対ふぉおおおえへへすっごくふおおおお大丈夫だよっふおおおおおおおおおお大丈夫だよっ大丈夫だよっふおおおおおお大丈夫だよっわーいふぉおおおえへへ絶対ふおおおおおおおおおおおわーいすっごくふおおおおおおお絶対ふぉおおおえへへすっごく大丈夫だよっ絶対ふおおおおおおおおおおおおおおわーいすっごくふおおおおおおおお絶対ふぉおおおえへへすっごく大丈夫だよっ絶対ふおおおおおおおおおおおわーいすっごくふおおおおおお絶対ふぉおおおえへへすっごく大丈夫だよっふおおおおおお大丈夫だよっふぉおおおおおおおお大丈夫だよっふぉおおおおおおおおおお大丈夫だよっわーいふぉおおおえへへ絶対ふおおおおおおおおおおおわーいすっごくふおおおおおおお絶対ふぉおおおえへへすっごくふおおおお大丈夫だよっわーいふぉおおおえへへふおおおおおおおおおおおおお大丈夫だよっ

 

8つの命令を表す文字以外はすべて実行時に無視されるので、
逆にいえばどれだけ文章や改行を入れても問題ありません。 

予約語に衝突しないように注意しながら編集するとこうなりました。

 

まり花だよっ!
この言語ならプログラミングも絶対簡単にできちゃうよっ!
ふおおおおおおおおおおおおっ!
わーい☆すっごくやる気出てきたよっ!
ふおおおおおおおおおおお!!凄腕プログラマーさんになった気分だよっ。
これは絶対大丈夫だよ!ふぉおおおっ!!
えへへ、すっごく捗るよっ!
イブの分の宿題もやってあげるね。
そんな心配そうな顔しなくても大丈夫だよっ!絶対大丈夫だよ!
ふおおおおおおおおおお!!
わーい、タイピングもすっごく速くなってるよっ!
ふおおおおおおお!!絶対大丈bふぉおおお!!えへへすっごくすっgふおおおお!!
大丈夫だよっさきちゃん!ふおおおおおおおおおお!!
大丈夫だよっ大丈夫だよっさきちゃん!ふおおおおおお!!
何がどう大丈夫かよくわかんなくなってきたけどとにかく大丈夫だよっ!!!
こうなったら勢いでさきちゃんの宿題も終わらせちゃうよっ!わーいわーーい☆
ふぉおおお!えへへ絶対ふおおおおおおおおおおお!!
わーいすっごくふおおおおおおお!絶対ふぉおおお
えへへ、めうめうもおいてけぼりさんだよっ!
でもでもすっごく大丈夫だよっ!!絶対大丈夫だよ!!
ふおおおおおおおおおおおおおお!
ものすごいスピードだよ!わーい☆
すっごく指がふおおおおおおおお絶対間違えふぉおおおえへへすっごく大丈夫だよっ絶対ふおおおおおおおおおおおわーいすっごくふおおおおおお絶対ふぉおおおえへへすっごく大丈夫だよっふおおおおおお大丈夫だよっふぉおおおおおおおお大丈夫だよっふぉおおおおおおおおおお大丈夫だよっわーいふぉおおおえへへ絶対ふおおおおおおおおおおおわーいすっごくふおおおおおおお絶対ふぉおおおえへへすっごくふおおおお大丈夫だよっわーいふぉおおおっっっ!!!!
えへへ、りんちゃん、もうちょっとで終わるよっ、わたし頑張ってるよっ!!
ふおおおおおおおおおおおおお
大丈夫だよっ!!!!!

 

もはやスイーツさの欠片も見当たらなくて、コーディングの修羅と化した感が否めませんが、これをさっきの枠に貼り付けて「実行」ボタンを押します。

2段目に貼り付け

すると……

 

Hello World!

 

無事に「Hello World!」と表示されましたね!

やったねまり花ちゃん!普通に打ち込んだほうが圧倒的に早いよ!!

みんなもいろいろ遊んでみてねっ!!

おしまい

 

 

*1:いちいち伏せ字にするのもアレなので以下BFと表記します

*2:http://www.kmonos.net/alang/etc/brainfuck.phpから引用