# DungLang v0.7 prototype / patched demo 🦍🔥🪨

> 臭気駆動プログラミング言語。ウホ。

---

## v0.7 で追加されたモジュール

| モジュール | 概要 |
|---|---|
| § 1 公理破壊 | 哲学ゴリラが自分のおならを哲学した場合にのみ発生する宇宙最凶の例外 |
| § 2 外交モジュール | 越境臭気を `越境臭気<発生源, 到達部族, 濃度>` 型で追跡。部族間条約超過でバナナ賠償 |
| § 3 認知GC | バナナ3本以上の受領で記憶を完全忘却 |
| § 4 責任転嫁エンジン | `try: 臭気事件 / catch: バナナ三本 / result: なかったことになる` |

---

## 既知バグ（v0.7 original）→ patched で修正済み

### バグ #001 — 外交判定の条約テーブル参照ミス
**発生バージョン:** v0.7 original  
**修正バージョン:** v0.7 patched

**原因:**  
`外交判定()` の条約値取得が以下のようになっていた:

```python
# ❌ v0.7 original（バグあり）
条約値 = 部族間条約.get(
    ("哲学ゴリラ連邦", "*"),          # ← これは常にキーが存在するので…
    部族間条約.get((self.発生源, self.到達部族), 4)
)
# 結果: 常に条約値=0 が返り、全ケースが外交問題になっていた
```

`dict.get(key, default)` の `default` は key が**存在しないとき**だけ使われる。
`("哲学ゴリラ連邦", "*")` は辞書に登録されているため常にヒットし、
値 `0` が返り続けていた。

**修正内容:**

```python
# ✅ v0.7 patched（修正済み）
if "哲学ゴリラ" in self.発生源:
    return 外交問題(self)               # 哲学ゴリラは名前で先に弾く

条約値 = 部族間条約.get((self.発生源, self.到達部族), 4)
if self.濃度 > 条約値:
    return 外交問題(self)
else:
    return 気象ゴリラのせい(self)
```

動作:
- 発生源に「哲学ゴリラ」を含む → 必ず外交問題
- それ以外 → `部族間条約[(発生源, 到達部族)]` を参照、未定義ならデフォルト4
- 濃度 > 条約値 → 外交問題 / 濃度 ≤ 条約値 → 気象ゴリラのせい

---

### バグ #002 — 構文解析で副作用レベルが取得されない
**発生バージョン:** v0.7 original  
**修正バージョン:** v0.7 patched

**原因:**  
`構文解析()` で `観測中` モード中に `副作用` トークンが来ると、
`elif モード == "観測中": 現象[t.種別] = t.値` の分岐に先に入ってしまい、
`現象["副作用"] = "💨💨"` のように生文字列で保存されていた。
`副作用レベル` の計算（`💨` の数を数える処理）には到達しなかった。

**修正内容:**  
`副作用` トークンをモード判定より前に処理する:

```python
# ✅ v0.7 patched
elif t.種別 == "副作用":
    現象["副作用レベル"] = t.値.count("💨")   # モードに関係なく先に処理
elif モード == "観測中":
    現象[t.種別] = t.値
```

---

## 実行方法

```bash
python dunglang_v0_7_patched.py
```

または `run.log` で出力済み結果を確認できます。

---

## 実行結果サマリ（patched）

| ケース | 濃度 | 条約値 | 期待結果 | patched結果 |
|---|---|---|---|---|
| ケースA（ウホ族→バナナ族, 濃度7） | 7 | 3 | 外交問題 | ✅ 外交問題 |
| ケースB（ウホ族→バナナ族, 濃度2） | 2 | 3 | 気象ゴリラのせい | ✅ 気象ゴリラのせい |

---

## ファイル構成

```
dunglang_v0_7_patched.py   メイン実装
README_v0_7_patched.md     本ファイル
run.log                    実行済みログ
```

---

> 警告: 臭気安全性は型安全性を上回りました  
> 注記: 真実は副作用とバナナにより完全に曲がりました  
> ウホ 🦍
