Brainfuck方言 単語


ニコニコ動画でBrainfuck方…の動画を見に行く

ブレインファックホウゲン

2.4万文字の記事
これはリビジョン 2453534 の記事です。
内容が古い・もしくは誤っている可能性があります。
最新版をみる

Brainfuck方言(Brainfuck Derivative)とは、難解プログラミング言語の一つであるBrainfuckから派生したプログラミング言語のことである。

概要

Brainfuckは、><.+-,[]という8つの単純な命令しか持たない言語でありながら、アセンブリ言語よりも単純で記述性が高く、チューリング完全でもあり(でなかったら困るが)、非常に人気の高い言語である。

詳 しい記述は当該記事に譲るが、その単純さから、(おもにジョークとして)この8つの命令を別の文字列に置き換え、新しいプログラミング言語する例が非常に 多い。これらの言語は総称してBrainfuck方言と呼ばれ、実用性は全くないもののプログラマの間での軽い遊びとして広く知られており、(その生成の 容易さもあって)これまでに多くのBrainfuck方言が作られてきた。

こういうものを使うとものの1分もかからずにBrainfuck方言を作ることができる。

なお、Brainfuckはその言語仕様から、「+や-が連続しやすい」「[や]は対応する括弧が存在する」などの特徴があり、これを利用するとうまい言語になりやすい。

Brainfuck方言の一覧

詳細なリストはCategory:Brainfuck derivatives - Esolangを参照。

サンプルコードには以下のHello, world!プログラムを使用した。

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

Nyaruko

這いよれ!ニャル子さんのオープニングテーマである「太陽曰く燃えよカオス」の台詞に置き換えたもの。

命令セット

BF 命令
> (」・ω・)」うー(/・ω・)/にゃー
< (」・ω・)」うー!!(/・ω・)/にゃー!!
+ (」・ω・)」うー!(/・ω・)/にゃー!
- (」・ω・)」うー!!!(/・ω・)/にゃー!!!
, cosmic!
. Let's\(・ω・)/にゃー
[ CHAOS☆CHAOS!
] I WANNA CHAOS!

サンプルコード

(」・ ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー! (/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!CHAOS☆CHAOS!(」・ω・)」うー(/・ ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー! (」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー(/・ω・)/にゃー(」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー! (/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー(/・ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!!(/・ ω・)/にゃー!!(」・ω・)」うー!!(/・ω・)/にゃー!!(」・ω・)」うー!!(/・ω・)/にゃー!!(」・ω・)」うー!!!(/・ ω・)/にゃー!!!I WANNA CHAOS!(」・ω・)」うー(/・ω・)/にゃーLet's\(・ω・)/にゃー(」・ω・)」うー(/・ω・)/にゃー(」・ω・)」うー!(/・ ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!Let's\(・ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」 うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!Let's\(・ω・)/にゃーLet's\ (・ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/ にゃー!Let's\(・ω・)/にゃー(」・ω・)」うー(/・ω・)/にゃー(」・ω・)」うー!!!(/・ω・)/にゃー!!!Let's\(・ ω・)/にゃー(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!! (/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」 うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ ω・)」うー!!!(/・ω・)/にゃー!!!Let's\(・ω・)/にゃー(」・ω・)」うー!!(/・ω・)/にゃー!!(」・ω・)」うー! (/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/ にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!(」・ ω・)」うー!(/・ω・)/にゃー!Let's\(・ω・)/にゃー(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!! (/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」 うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ ω・)」うー!!!(/・ω・)/にゃー!!!Let's\(・ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!(」・ω・)」うー!(/・ ω・)/にゃー!(」・ω・)」うー!(/・ω・)/にゃー!Let's\(・ω・)/にゃー(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!! (」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!Let's\(・ω・)/にゃー(」・ω・)」 うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!! (」・ω・)」うー!!!(/・ω・)/にゃー!!!(」・ω・)」うー!!!(/・ω・)/にゃー!!!Let's\(・ω・)/にゃー(」・ω・)」 うー(/・ω・)/にゃー(」・ω・)」うー!(/・ω・)/にゃー!Let's\(・ω・)/にゃー

Ook!

David Morgan-Marが開発した「オランウータンのための」プログラミング言語。

命令セット

BF 命令
> Ook. Ook?
< Ook? Ook.
+ Ook. Ook.
- Ook! Ook!
, Ook. Ook!
. Ook! Ook.
[ Ook! Ook?
] Ook? Ook!

追加仕様

  • 以上の命令以外の文字を含めることはできない。(オランウータンはOokで全てを表現するため)

サンプルコード

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook! Ook. 

ジョジョ言語

マンガ「ジョジョの奇妙な冒険」に登場する台詞に置き換えたもの。

命令セット

BF 命令
> スターフィンガー! やれやれだぜ
< ロードローラーだ! 貧弱ゥ
+ オラ
- 無駄
, 新手のスタンド使いか!
. ハーミットパープル
[ あ…ありのまま 今 起こった事を話すぜ!
] ザ・ワールド!

サンプルコード

オ ラオラオラオラオラオラオラオラオラあ…ありのまま 今 起こった事を話すぜ!スターフィンガー!オラオラオラオラオラオラオラオラスターフィンガー!オラオラオラオラオラオラオラオラオラオラオラスター フィンガー!オラオラオラオラオラロードローラーだ!ロードローラーだ!ロードローラーだ!無駄ザ・ワールド!スターフィンガー!ハーミットパープルス ターフィンガー!オラオラハーミットパープルオラオラオラオラオラオラオラハーミットパープルハーミットパープルオラオラオラハーミットパープルスター フィンガー!無駄ハーミットパープル無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄ハーミットパープルロードローラーだ!オラオラオラオラオラオラオ ラオラハーミットパープル無駄無駄無駄無駄無駄無駄無駄無駄ハーミットパープルオラオラオラハーミットパープル無駄無駄無駄無駄無駄無駄ハーミットパープ ル無駄無駄無駄無駄無駄無駄無駄無駄ハーミットパープルスターフィンガー!オラハーミットパープル

公式サイトにはコメントを追加した読みやすいサンプルコードが掲載されている。

BF-BASIC'n

4コマ漫画「べーしっ君」の台詞を模したもの。

命令セット

BF 命令
>
< ばぼーん
+
-
, うすらの
. ぽーん
[ すてらの
] なばびこーん

サンプルコード

ぽ ぽぽぽぽぽぽぽぽすてらのすぽぽぽぽぽぽぽぽすぽぽぽぽぽぽぽぽぽぽぽすぽぽぽぽぽばぼーんばぼーんばぼーんびなばびこーんすぽーんすぽぽぽーんぽぽぽぽ ぽぽぽぽーんぽーんぽぽぽぽーんすびぽーんびびびびびびびびびびびびぽーんばぼーんぽぽぽぽぽぽぽぽぽーんびびびびびびびびぽーんぽぽぽぽーんびびびびび びぽーんびびびびびびびびぽーんすぽぽーん

Misa

みさくら語でプログラムを記述できるように作られた言語。

命令セット

BF 命令
> >
< <
+ +
- -
, ,
. .
[ [
] ]

サンプルコード

あああああああああ「~ああああああああ~あああああああああああ~あああああ☆☆☆ッ」~!~ああ!あああああああ!!あああ!~ッ!ッッッッッッッッッッッッ!☆ああああああああ!ッッッッッッッッ!あああ!ッッッッッッ!ッッッッッッッッ!~あ!

公式サイトにはコメントを追加した読みやすいサンプルコードが掲載されている。

BrainHakke

陰陽道で用いられる八卦の記号にBrainfuckの8つの文字をそれぞれ置き換えたもの。

命令セット

BF 命令
>
<
+
-
,
.
[
]

サンプルコード

☳☳☳☳☳☳☳☳☳☶☰☳☳☳☳☳☳☳☳☰☳☳☳☳☳☳☳☳☳☳☳☰☳☳☳☳☳☷☷☷☴☱☰☵☰☳☳☵☳☳☳☳☳☳☳☵☵☳☳☳☵☰☴☵☴☴☴☴☴☴☴☴☴☴☴☴☵☷☳☳☳☳☳☳☳☳☵☴☴☴☴☴☴☴☴☵☳☳☳☵☴☴☴☴☴☴☵☴☴☴☴☴☴☴☴☵☰☳☵

Gochiusa

アニメ「ご注文はうさぎですか?」のオープニングテーマ「Daydream Cafe」の台詞に置き換えたもの。

入力が「待ち?」で出力が「言いなさいっ」と微妙に命令と対応している。

命令セット

BF 命令
> こころ
< いつも
+ ぴょん
- らんらん
, 待ち?
. 言いなさいっ
[ はじめんがかんじん
] つーんだつーんだ

サンプルコード

ぴょ んぴょんぴょんぴょんぴょんぴょんぴょんぴょんぴょんはじめんがかんじんこころぴょんぴょんぴょんぴょんぴょんぴょんぴょんぴょんこころぴょんぴょんぴょ んぴょんぴょんぴょんぴょんぴょんぴょんぴょんぴょんこころぴょんぴょんぴょんぴょんぴょんいつもいつもいつもらんらんつーんだつーんだこころ言いなさ いっこころぴょんぴょん言いなさいっぴょんぴょんぴょんぴょんぴょんぴょんぴょん言いなさいっ言いなさいっぴょんぴょんぴょん言いなさいっこころらんらん 言いなさいっらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらん言いなさいっいつもぴょんぴょんぴょん ぴょんぴょんぴょんぴょんぴょん言いなさいっらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらん言いなさいっぴょんぴょんぴょん言いなさ いっらんらんらんらんらんらんらんらんらんらんらんらん言いなさいっらんらんらんらんらんらんらんらんらんらんらんらんらんらんらんらん言いなさいっここ ろぴょん言いなさいっ

てってってー

てってってー

命令セット

BF 命令
> てってー
< てっててー
+ ててー
- てっー
,> てってってー
.> てってっー
[ てってっててー
] てってってっー

追加仕様

  • メモリはバイト列でなく16bitのUnicode文字の配列である。
  • 「ー」と「てー」で囲まれた文字列をメモリに書き込み、ポインタを最後の文字の次のメモリに移動する。
  • コメントは{と}で囲み明示的に示す必要がある。

サンプルコード

て てーててーててーててーててーててーててーててーててーてってっててーてってーててーててーててーててーててーててーててーててーてってーててーててーて てーててーててーててーててーててーててーててーててーてってーててーててーててーててーててーてっててーてっててーてっててーてっーてってってっーてっ てーてってっーててーててーてってっーてっててーててーててーててーててーててーててーててーてってっーてっててーてってっーてっててーててーててーて てーてってっーてっーてってっーてっててーてっーてっーてっーてっーてっーてっーてっーてっーてっーてっーてっーてっーてってっーてっててーてっててーて てーててーててーててーててーててーててーててーてってっーてっててーてっーてっーてっーてっーてっーてっーてっーてっーてってっーてっててーててーて てーててーてってっーてっててーてっーてっーてっーてっーてっーてっーてってっーてっててーてっーてっーてっーてっーてっーてっーてっーてっーてってっー ててーてってっーてっててー

NekoMimiF*ck

「月詠 -MOON PHASE-」のオープニングテーマ「Neko Mimi Mode」の台詞に置き換えたもの。

命令セット

BF 命令
> ネコミミ!
< ネコミミモード
+ おにいさま
- 私のしもべー
, フルフルフルムーン
. や・く・そ・く・よ
[ キスキス…
] キス…したくなっちゃった…

サンプルコード

お にいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまキスキス…ネコミミ!おにいさまおにいさまおにいさまおにい さまおにいさまおにいさまおにいさまおにいさまネコミミ!おにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさま おにいさまおにいさまネコミミ!おにいさまおにいさまおにいさまおにいさまおにいさまネコミミモードネコミミモードネコミミモード私のしもべーキス…した くなっちゃった…ネコミミ!や・く・そ・く・よネコミミ!おにいさまおにいさまや・く・そ・く・よおにいさまおにいさまおにいさまおにいさまおにいさまお にいさまおにいさまや・く・そ・く・よや・く・そ・く・よおにいさまおにいさまおにいさまや・く・そ・く・よネコミミ!私のしもべーや・く・そ・く・よ私 のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー や・く・そ・く・よネコミミモードおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさまや・く・そ・く・よ私のしもべー私 のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべーや・く・そ・く・よおにいさまおにいさまおにいさまや・く・そ・ く・よ私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー私のしもべーや・く・そ・く・よ私のしもべー私のしもべー私のしもべー私のしもべー 私のしもべー私のしもべー私のしもべー私のしもべーや・く・そ・く・よネコミミ!おにいさまや・く・そ・く・よ

VerboseFuck

Brainfuckをより「多弁」にしたもの。(C#やVBに対する皮肉でもある)

命令セット

BF 命令
> math.equation(pointer = pointer + void(1));
< math.equation(pointer = pointer - void(1));
+ math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
- math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
, math.equation(deref(pointer) = programcode(conversion.changedatatype(program.console.standardoutput.stream.readunbufferedchars(1).getvalue(0), types.byte)));
. program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
[ define(defines.label, defines.label.createnew());
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
] };
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) { program.flow.labeledjump(defines.label.last()); };
undefine(defines.label, defines.label.last());

追加仕様

  • コメントは明示的に~!comment!~と~!uncomment!~で囲まなければならない。
  • 1000バイトに1つ以上コメントを挿入しなければならない。
  • プログラムは以下のコードで開始しなければならない。

    program.initialize();
    math.equation(program.errors.handler.activated = boolean(false));
    program.console.standardinput.openstream();
    program.console.standardoutput.openstream();
    define(defines.variable, variable(pointer));
    implanttype(pointer, types.pointer(to:types.byte));
    math.equation(pointer = void(0));
    program.memory.allocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);

  • プログラムは以下のコードで終了しなければならない。

    program.memory.deallocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
    undefine(defines.variable, variable(pointer));
    program.console.standardoutput.closestream();
    program.console.standardinput.closestream();
    program.terminate();

サンプルコード

~!comment!~初期化~!uncomment!~
program.initialize();
math.equation(program.errors.handler.activated = boolean(false));
program.console.standardinput.openstream();
program.console.standardoutput.openstream();
define(defines.variable, variable(pointer));
implanttype(pointer, types.pointer(to:types.byte));
math.equation(pointer = void(0));
program.memory.allocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);

~!comment!~ポインタ0を9加算(ループカウンタとして使用)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~ループ開始(9回)~!uncomment!~
define(defines.label, defines.label.createnew());
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) {
    ~!comment!~ポインタ1を8加算~!uncomment!~
    math.equation(pointer = pointer + void(1));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    
    ~!comment!~ポインタ2を11加算~!uncomment!~
    math.equation(pointer = pointer + void(1));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    
    ~!comment!~ポインタ3を5加算~!uncomment!~
    math.equation(pointer = pointer + void(1));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
    
    ~!comment!~ポインタ0に戻る~!uncomment!~
    math.equation(pointer = pointer - void(1));
    math.equation(pointer = pointer - void(1));
    math.equation(pointer = pointer - void(1));
    
    ~!comment!~ポインタ0を1減算(ループカウント)~!uncomment!~
    math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
};

~!comment!~ループ終了処理~!uncomment!~
conditional(block.if, boolean.inequality(deref(pointer), byte(0))) { program.flow.labeledjump(defines.label.last()); };
undefine(defines.label, defines.label.last());

~!comment!~以上のループでポインタ1に72, ポインタ2に99, ポインタ3に45が積まれている~!uncomment!~

~!comment!~ポインタ1に移動~!uncomment!~
math.equation(pointer = pointer + void(1));

~!comment!~H(72)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2に移動~!uncomment!~
math.equation(pointer = pointer + void(1));

~!comment!~ポインタ2を2加算(99→101)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~e(101)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を7加算(101→108)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~l(108)を2回出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を3加算(108→111)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~o(111)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ3に移動~!uncomment!~
math.equation(pointer = pointer + void(1));

~!comment!~ポインタ3を1減算(45→44)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));

~!comment!~コンマ(44)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ4を12減算(44→32)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
~!comment!~強制コメント~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));

~!comment!~空白(32)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2に移動~!uncomment!~
math.equation(pointer = pointer - void(1));

~!comment!~ポインタ2を8加算(111→119)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~w(119)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を8減算(119→111)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));

~!comment!~o(111)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を3加算(111→114)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~r(114)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を6減算(114→108)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));

~!comment!~l(108)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ2を8減算(108→100)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));
math.equation(deref(pointer) = (deref(pointer) - byte(1)):binaryand:byte(255));

~!comment!~d(100)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~ポインタ3に移動~!uncomment!~
math.equation(pointer = pointer + void(1));

~!comment!~ポインタ3を1加算(32→33)~!uncomment!~
math.equation(deref(pointer) = (deref(pointer) + byte(1)):binaryand:byte(255));

~!comment!~!(33)を出力~!uncomment!~
program.console.standardoutput.stream.writeunbufferedchars(array.create(1, conversion.changedatatype(deref(pointer), types.character, conversion.method.binary)), 0, 1);

~!comment!~終了処理~!uncomment!~
program.memory.deallocate(pointer, void(math.infinity), program.memory.memorytype.bidirectional);
undefine(defines.variable, variable(pointer));
program.console.standardoutput.closestream();
program.console.standardinput.closestream();
program.terminate();

ゲロ言語

キャスフィ避難所のコテハン(通称「ゲロ丼」)の台詞に置き換えたもの。

命令セット

BF 命令
+ 漏れそう もれそう
- 助けて もう無理
> トイレ近い
< 漏らしたことある?
, 嫌いにならないで
. 夜中トイレどうしたら?
[ だってマジ
] なんだもん

サンプルコード

漏 れそう漏れそうもれそうもれそう漏れそうもれそう漏れそう漏れそう漏れそうだってマジトイレ近い漏れそうもれそう漏れそうもれそう 漏れそう漏れそう漏れそう漏れそうトイレ近い漏れそう漏れそう 漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう 漏れそうトイレ近い漏れそうもれそう漏れそう漏れそう漏れそう 漏らしたことある?漏らしたことある?漏らしたことある? 助けてなんだもんトイレ近い夜中トイレどうしたら?トイレ近い漏れそう 漏れそう夜中トイレどうしたら? 漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう夜中トイレどうしたら? 夜中トイレどうしたら?漏れそう漏れそう漏れそう夜中トイレどうしたら? トイレ近い助けて夜中トイレどうしたら? 助けて助けて助けてもう無理助けてもう無理助けて助けて助けて助けて助けて 助けて夜中トイレどうしたら? 漏らしたことある?漏れそう漏れそう漏れそう漏れそう漏れそう漏れそう 漏れそう漏れそう夜中トイレどうしたら? もう無理もう無理もう無理助けて助けて助けて助けて助けて夜中トイレどうしたら? 漏れそう漏れそう漏れそう夜中トイレどうしたら? 助けて助けて助けて助けて助けて助けて夜中トイレどうしたら? 助けて助けて助けて助けて助けて助けて助けて助けて 夜中トイレどうしたら?トイレ近い漏れそう夜中トイレどうしたら?

矢澤にこ言語

命令セット

BF nico-lang
> 笑顔届ける矢澤にこにこ!
< だめだめだめっ!
+ にっこにっこにー
- にこにーって覚えてラブニコ!
. ぴょんぴょんぴょんっ!
, あなたのハートににこにこにー!
[ にこにーはみんなのもの!
] キモチワルイ

サンプルコード

にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにこにーはみんなのもの!笑顔届ける矢澤にこにこ!にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにー笑顔届ける矢澤にこにこ!にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにー笑顔届ける矢澤にこにこ!にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーだめだめだめっ!だめだめだめっ!だめだめだめっ!にこにーって覚えてラブニコ!キモチワルイ笑顔届ける矢澤にこにこ!ぴょんぴょんぴょんっ!笑顔届ける矢澤にこにこ!にっこにっこにーにっこにっこにーぴょんぴょんぴょんっ!にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーぴょんぴょんぴょんっ!ぴょんぴょんぴょんっ!にっこにっこにーにっこにっこにーにっこにっこにーぴょんぴょんぴょんっ!笑顔届ける矢澤にこにこ!にこにーって覚えてラブニコ!ぴょんぴょんぴょんっ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!ぴょんぴょんぴょんっ!だめだめだめっ!にっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーにっこにっこにーぴょんぴょんぴょんっ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!ぴょんぴょんぴょんっ!にっこにっこにーにっこにっこにーにっこにっこにーぴょんぴょんぴょんっ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!ぴょんぴょんぴょんっ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!にこにーって覚えてラブニコ!ぴょんぴょんぴょんっ!笑顔届ける矢澤にこにこ!にっこにっこにーぴょんぴょんぴょんっ!

関連項目

  • Brainfuck
  • プログラミング言語の一覧
関連記事

親記事

子記事

兄弟記事

  • なし

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
ずんだもん[単語]

提供: とーちよ

もっと見る

急上昇ワード改

最終更新:2025/12/08(月) 05:00

ほめられた記事

最終更新:2025/12/08(月) 05:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP