プログラミング言語「PPAP」を作りました
2017-01-06
Techプログラミング言語「PPAP」を作りました。
例
I have 80 Pen
I have 65 Apple
Uh! Put-Pen
Uh! Put-Pen
Uh! Put-Apple
Uh! Put-Pen
実行するとPPAPと出力されます。
% ppap exec ppap.ppap
PPAP
ソースコード
https://github.com/yhara/ppap-lang
FizzBuzzも書けます。
宣伝
このような奇妙なプログラミング言語に興味がある人にぴったりな書籍が存在します。
今ならマナティというマイナビのIT系電子書籍ストアから購入すると割引になっており、2,041円でPDFが手に入ります。1月10日までです。これに合わせようと思ったのに年始になってしまった。
言語仕様
「I have」はレジスタの宣言です。以下はPenというレジスタを用意し、初期値として50を代入します。50個でもPenなのは仕様です(Pensでは動かない)。
I have 50 Pen
PPAP言語にはさまざまなコマンドがあります。コマンドを実行する場合は「Uh!」と気合を入れる必要があります。以下はレジスタPenの中身を数値として出力します。
Uh! Print-Pen
これはラベルです。ジャンプ命令の飛び先として使用します。
Apple-Pen
他にも四則演算、比較などの命令があります。詳細はREADMEを参照してください。レジスタ名・コマンド名には必ず「p」を含めるという仕様にしたため、「>」はありますが「<」がありません。何か良い英単語をご存知でしたらgithub issuesかTwitter等で教えてください。割り算の余りを取る命令(mod,「%」)も欲しいですね。
あわせて読みたい
Rubyの作者、まつもとゆきひろ氏の新作。新しい言語「Streem」を実装するという雑誌連載をまとめたもの。
Quineや「絵みたいなソースコード」といったヤバいプログラミングに関する本。