「シャミ子、私たちのプログラミング言語ができたみたいだよ」
「プログラミングって何ですか?新しい果物ですか?」
「……」
サンプルプログラム
,ききかんりー シャミ子,桃?
20kmも走ったんですね なんか違くないですか.
3kmも走ったんですね,シャドウミストレスさん
…(Fizzまぞくだったのかな),
5kmも走ったんですね,シャドウミストレスさん
…(Buzzまぞくだったのかな),
3kmも走ったんですね,シャドウミストレスさん
(,5kmも走ったんですね,シャドウミストレスさん
(,ききかんりー 桃 ぽがー,))おそろがいい
シャミ子,ききかんりー 桃/!
「急にすごい長距離を走らされてませんか?」
「そこは気にしなくていい」
出力
「なんか出ました!すごいです!」
解説
これは自分が初めて作ったプログラミング言語momoshamiです。セリフと1バイトの区切り文字を交互に並べてコードを作ります。
具体的な構文はGitHub(このために登録した)の説明に任せるとして、ここでは特にこだわったところを書けたらと思います。
シャミ子と桃の関係性の表現
momoshamiには二つの変数shamiとmomo,そして一つのスタックがありますが、スタックにpushできるのは基本的にshamiとmomoの演算結果のみであり、shamiやmomoの中身を単体でpushすることはできません。これは桃とシャミ子は一緒にいないといけないことを意味しています。また入力やpopしてきたものなどはshamiの方に代入されるようになっているのですが、これは桃に比べシャミ子が闇の一族なのに陽、というか外向的であることを表しています。
桃シャミオンリーのコマンド
momoshamiという言語名からもわかる通り、シャミ子と桃の二人をテーマにした言語です。そのためまちカドまぞくの中でも「みんなが仲良くなりますように」「今日のご飯何」といった桃とシャミ子の間で交わされたセリフのみを厳選して使用しています。
またセリフは長いと書くのが大変なので、(使用頻度が高いものは特に)短めにしています。「今日のご飯何」が「シャミ子、今日のご飯何」じゃないのもそれです。あと存在しないセリフも最初は入れてましたが外しました。
他にもmomoの初期値が27だったり、基本的な演算子をお互いの呼称でまとめるなどいろいろ考えて作りました。また言語を作る機会があれば今度はリステでやってみたいです。