# 今から本格言語作りまーす

**URL:** https://forum.kaisaba.net/t/topic/676
**Category:** 技術
**Created:** [2025 年 12 月 28 日午前 8:08 UTC](https://forum.kaisaba.net/t/topic/676 "2025-12-28T08:08:18Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 28 日午前 8:08 UTC](https://forum.kaisaba.net/t/topic/676/1 "2025-12-28T08:08:18Z")

</div>

それでは初めて行きましょう！材料はこちら

- VSCode
- TypeScript (Node.ts)
- Python (3.12)

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 28 日午前 10:43 UTC](https://forum.kaisaba.net/t/topic/676/2 "2025-12-28T10:43:37Z")

</div>

```auto
import stackMachine, {type stackFunction} from "./runner.mjs";
const st_1: stackFunction = async (stacks, variables, goto) => Object.keys(stacks).forEach(key => delete stacks[key]);
const st_2: stackFunction = async (stacks, variables, goto) => goto(0);
(async () => await stackMachine([st_1, st_2]))();

```

無限ループの生成されたコード

---

<div class="post-metadata">

### Author: ![bac0n](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/bac0n/32/9_2.png) [@bac0n](https://forum.kaisaba.net/u/bac0n)
#### Post date: [2025 年 12 月 28 日午後 2:44 UTC](https://forum.kaisaba.net/t/topic/676/3 "2025-12-28T14:44:59Z")

</div>

brainfuck系言語にしようぜ！(？)

---

<div class="post-metadata">

### Author: ![bac0n](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/bac0n/32/9_2.png) [@bac0n](https://forum.kaisaba.net/u/bac0n)
#### Post date: [2025 年 12 月 28 日午後 2:48 UTC](https://forum.kaisaba.net/t/topic/676/4 "2025-12-28T14:48:38Z")

</div>

🍅超絶濃厚！トマフック(TOMAFUCK)命令表🍅  
トマトの鮮度と勢いだけでコードを書き殴れ！

| BF命令 | トマフック語 | トマト的アクション |
| --- | --- | --- |
| \> | トマ右 | 右のプランターに移動！次のトマトを育てる準備だ！ |
| \< | トマ左 | 左のプランターに戻る！未練があるんだな！ |
| + | 完熟 | 光を浴びせて糖度アップ！数値が1上がるぞ！ |
| - | 収穫 | 実をもぎ取る！数値が1下がる！無情！ |
| [ | 煮込 | 鍋に入れろ！中身が空っぽ（0）なら完成（跳躍）だ！ |
| ] | 沸騰 | まだ煮足りない！0じゃなきゃ煮込み開始地点に強制送還！ |
| . | 出荷 | ついに市場へ！現在の糖度を文字として出荷する！ |
| , | 種蒔 | 外から新しい種（入力）を植え付けるぞ！ |

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 28 日午後 2:55 UTC](https://forum.kaisaba.net/t/topic/676/5 "2025-12-28T14:55:54Z")

</div>

残念、普通の言語です

```auto
if (100 == 200) {
    a = 300;
} else {
    a = 200;
}
for (a Loop through 1~5) {
}

```

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 28 日午後 3:19 UTC](https://forum.kaisaba.net/t/topic/676/6 "2025-12-28T15:19:58Z")

</div>

![image](https://forum.kaisaba.net/uploads/default/original/1X/10a14fa4230388c0cc1510b1f223a06f79f2a857.png)

よっしゃ！

追記

どうなってるかわからない人へ

要するに、成功です

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 29 日午前 3:46 UTC](https://forum.kaisaba.net/t/topic/676/7 "2025-12-29T03:46:20Z")

</div>

- for文: 完了
- if文: 完了
- 基本比較演算: 完了
- 四則演算: 完了
- 変数代入: 完了

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 29 日午後 12:18 UTC](https://forum.kaisaba.net/t/topic/676/8 "2025-12-29T12:18:40Z")

</div>

![image](https://forum.kaisaba.net/uploads/default/original/1X/7e2db911d8f94dbe3da763d267c70ed5de45df72.png)

よっしゃ！

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 29 日午後 1:17 UTC](https://forum.kaisaba.net/t/topic/676/9 "2025-12-29T13:17:23Z")

</div>

続いての目標は、デデン！

# 型を追加する

ことです。

---

<div class="post-metadata">

### Author: ![Conbi\_Fan](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/conbi_fan/32/37_2.png) [@Conbi\_Fan](https://forum.kaisaba.net/u/Conbi_Fan)
#### Post date: [2025 年 12 月 30 日午前 1:51 UTC](https://forum.kaisaba.net/t/topic/676/10 "2025-12-30T01:51:00Z")

</div>

BFって聞いたことある….

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 30 日午前 2:13 UTC](https://forum.kaisaba.net/t/topic/676/11 "2025-12-30T02:13:53Z")

</div>

Brainfuckは「極限までシンプルにしたプログラミング言語」です。命令がたった **8種類** しかなく、メモリは **1次元の配列（テープ）** 、ポインタで操作します。

* * *

### 基本ルール

- メモリ：配列（セルは0で初期化）、ポインタは最初は先頭

- 命令：8つだけ

| 命令 | 説明 |
| --- | --- |
| `>` | ポインタを右に移動 |
| `<` | ポインタを左に移動 |
| `+` | 現在のセルの値を1増やす |
| `-` | 現在のセルの値を1減らす |
| `.` | 現在のセルの値をASCIIとして出力 |
| `,` | 入力を受け取って現在のセルに格納 |
| `[` | 現在のセルが0なら、対応する `]` までジャンプ |
| `]` | 現在のセルが0でなければ、対応する `[` に戻る |

* * *

### 例：`Hello` を出力する簡単なプログラム

```auto
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

```

- `+` で文字コードを作り

- `>` でセルを移動し

- `.` で出力

- `[...]` で繰り返し処理

* * *

要するに **Brainfuckは「メモリをポインタで操作してASCII文字を出力する」超低レベル言語** 。  
コードは読みにくいですが、基本の8命令を覚えれば仕組みは理解できます。

---

<div class="post-metadata">

### Author: ![Conbi\_Fan](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/conbi_fan/32/37_2.png) [@Conbi\_Fan](https://forum.kaisaba.net/u/Conbi_Fan)
#### Post date: [2025 年 12 月 30 日午前 2:14 UTC](https://forum.kaisaba.net/t/topic/676/12 "2025-12-30T02:14:37Z")

</div>

あ、そっちか

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2025 年 12 月 30 日午後 12:16 UTC](https://forum.kaisaba.net/t/topic/676/13 "2025-12-30T12:16:31Z")

</div>

![image](https://forum.kaisaba.net/uploads/default/original/1X/ebb097ba71a1afb5a40afda96df10acb89ff9a97.png)

グローバルコンパイラ、作成完了！

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2026 年 8 月 22 日午前 6:49 UTC](https://forum.kaisaba.net/t/topic/676/14 "2026-08-22T06:49:37Z")

</div>

結構革命ではあったんだけどねー  
クソみたいなバイトコード設計しちゃったせいで本当にゴミ

---

<div class="post-metadata">

### Author: ![Tomato42830501](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/tomato42830501/32/30_2.png) [@Tomato42830501](https://forum.kaisaba.net/u/Tomato42830501)
#### Post date: [2026 年 9 月 23 日午前 5:19 UTC](https://forum.kaisaba.net/t/topic/676/15 "2026-09-23T05:19:15Z")

</div>

てか意味合いが変わっただけでただのBrainfuck言語で草

---

<div class="post-metadata">

### Author: ![bac0n](https://forum.kaisaba.net/user_avatar/forum.kaisaba.net/bac0n/32/9_2.png) [@bac0n](https://forum.kaisaba.net/u/bac0n)
#### Post date: [2026 年 9 月 25 日午前 11:30 UTC](https://forum.kaisaba.net/t/topic/676/16 "2026-09-25T11:30:20Z")

</div>

名前もそんな感じ
