---
generated_at: 2026-02-19 15:30:00
metrics:
  claims_total: 100
  claims_with_evidence: 98
  claims_without_evidence: 2
confidence_derived: 0.98
---

# 根拠レポート：grammar.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧（grammar.csv）の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：98 / 100、根拠なし：2
- 優先レビュー（高）
  1. **UT-GRM-055〜059（exports.parser関連）**：パーサーインスタンスの内部プロパティはJisonの実装に依存
  2. **UT-GRM-060〜061（grammar.Root動作）**：実行時の動作確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `src/grammar.coffee` 行1-26（モジュール説明、依存関係、unwrap正規表現）
- E-02: `src/grammar.coffee` 行28-86（o関数定義、getAddDataToNodeFunctionString内部関数）
- E-03: `src/grammar.coffee` 行100-107（grammar.Root定義）
- E-04: `src/grammar.coffee` 行110-114（grammar.Body定義）
- E-05: `src/grammar.coffee` 行143-156（grammar.Expression定義）
- E-06: `src/grammar.coffee` 行238-247（grammar.Literal定義）
- E-07: `src/grammar.coffee` 行250-254（grammar.Assign定義）
- E-08: `src/grammar.coffee` 行330-347（grammar.Code, grammar.FuncGlyph定義）
- E-09: `src/grammar.coffee` 行472-481（grammar.Class定義）
- E-10: `src/grammar.coffee` 行483-498（grammar.Import定義）
- E-11: `src/grammar.coffee` 行523-541（grammar.Export定義）
- E-12: `src/grammar.coffee` 行857-869（grammar.IfBlock, grammar.If定義）
- E-13: `src/grammar.coffee` 行715-737（grammar.WhileSource, grammar.While, grammar.Loop定義）
- E-14: `src/grammar.coffee` 行742-832（grammar.For, grammar.ForSource定義）
- E-15: `src/grammar.coffee` 行834-841（grammar.Switch定義）
- E-16: `src/grammar.coffee` 行678-690（grammar.Try, grammar.Catch定義）
- E-17: `src/grammar.coffee` 行889-938（grammar.Operation, grammar.OperationLine定義）
- E-18: `src/grammar.coffee` 行433-441（grammar.Accessor定義）
- E-19: `src/grammar.coffee` 行591-617（grammar.Array, grammar.Range, grammar.Slice定義）
- E-20: `src/grammar.coffee` 行456-458（grammar.Object定義）
- E-21: `src/grammar.coffee` 行167-172（grammar.Yield定義）
- E-22: `src/grammar.coffee` 行418-422（grammar.Super定義）
- E-23: `src/grammar.coffee` 行203-215（grammar.String定義）
- E-24: `src/grammar.coffee` 行231-234（grammar.Regex定義）
- E-25: `src/grammar.coffee` 行951-978（operators配列定義）
- E-26: `src/grammar.coffee` 行987-993（tokens配列生成ロジック）
- E-27: `src/grammar.coffee` 行999-1003（exports.parser定義）
- E-28: `src/grammar.coffee` 行356-380（grammar.ParamList, grammar.Param, grammar.ParamVar定義）
- E-29: `src/grammar.coffee` 行560-577（grammar.Invocation, grammar.OptFuncExist, grammar.Arguments定義）
- E-30: `src/grammar.coffee` 行426-429（grammar.MetaProperty定義）
- E-31: `src/grammar.coffee` 行580-588（grammar.This, grammar.ThisProperty定義）
- E-32: `src/grammar.coffee` 行312-326（grammar.Return, grammar.YieldReturn, grammar.AwaitReturn定義）
- E-33: `src/grammar.coffee` 行693-696（grammar.Throw定義）
- E-34: `src/grammar.coffee` 行702-705（grammar.Parenthetical定義）
- E-35: `src/grammar.coffee` 行508-520（grammar.ImportSpecifier, grammar.ImportDefaultSpecifier, grammar.ImportNamespaceSpecifier定義）
- E-36: `src/grammar.coffee` 行551-557（grammar.ExportSpecifier定義）
- E-37: `src/grammar.coffee` 行849-852（grammar.When定義）
- E-38: `src/grammar.coffee` 行936-938（grammar.DoIife定義）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | UT-GRM-001: o関数のデフォルト動作 | E-02 (行82-84) | ○ |
| C-02 | UT-GRM-002: o関数の基本ルール生成 | E-02 (行36-85) | ○ |
| C-03 | UT-GRM-003: 空白正規化処理 | E-02 (行34) | ○ |
| C-04 | UT-GRM-004: optionsパラメータ | E-02 (行33, 85) | ○ |
| C-05 | UT-GRM-005: LOC(n)変換 | E-02 (行76) | ○ |
| C-06 | UT-GRM-006: LOC(n,m)変換 | E-02 (行80) | ○ |
| C-07 | UT-GRM-007: newキーワード変換 | E-02 (行43) | ○ |
| C-08 | UT-GRM-008: Block.wrap変換 | E-02 (行44) | ○ |
| C-09 | UT-GRM-009: extend変換 | E-02 (行44) | ○ |
| C-10 | UT-GRM-010: unwrapパターン最適化 | E-02 (行40) | ○ |
| C-11 | UT-GRM-011: 空パターン文字列 | E-02 (行34-35) | ○ |
| C-12 | UT-GRM-012: 単一トークンパターン | E-02 (行35) | ○ |
| C-13 | UT-GRM-013: 多数トークンパターン | E-10 (行497) | ○ |
| C-14 | UT-GRM-014: getAddDataToNodeFunctionString単一位置 | E-02 (行50-51) | ○ |
| C-15 | UT-GRM-015: getAddDataToNodeFunctionString範囲 | E-02 (行50-51) | ○ |
| C-16 | UT-GRM-016: forceUpdateLocationフラグ | E-02 (行50-51) | ○ |
| C-17 | UT-GRM-017: $で始まる位置指定 | E-02 (行51) | ○ |
| C-18 | UT-GRM-018: unwrap正規表現マッチ | E-01 (行26) | ○ |
| C-19 | UT-GRM-019: unwrap複雑戻り値 | E-01 (行26) | ○ |
| C-20 | UT-GRM-020: unwrap引数付き非マッチ | E-01 (行26) | ○ |
| C-21 | UT-GRM-021: unwrap戻り値なし非マッチ | E-01 (行26) | ○ |
| C-22 | UT-GRM-022: Rootルール定義 | E-03 | ○ |
| C-23 | UT-GRM-023: Bodyルール定義 | E-04 | ○ |
| C-24 | UT-GRM-024: Expressionルール定義 | E-05 | ○ |
| C-25 | UT-GRM-025: Literalルール定義 | E-06 | ○ |
| C-26 | UT-GRM-026: Assignルール定義 | E-07 | ○ |
| C-27 | UT-GRM-027: Codeルール定義 | E-08 | ○ |
| C-28 | UT-GRM-028: FuncGlyphルール定義 | E-08 | ○ |
| C-29 | UT-GRM-029: Classルール定義 | E-09 | ○ |
| C-30 | UT-GRM-030: Importルール定義 | E-10 | ○ |
| C-31 | UT-GRM-031: Exportルール定義 | E-11 | ○ |
| C-32 | UT-GRM-032: Ifルール定義 | E-12 | ○ |
| C-33 | UT-GRM-033: Whileルール定義 | E-13 | ○ |
| C-34 | UT-GRM-034: Forルール定義 | E-14 | ○ |
| C-35 | UT-GRM-035: Switchルール定義 | E-15 | ○ |
| C-36 | UT-GRM-036: Tryルール定義 | E-16 | ○ |
| C-37 | UT-GRM-037: Operationルール定義 | E-17 | ○ |
| C-38 | UT-GRM-038: Accessorルール定義 | E-18 | ○ |
| C-39 | UT-GRM-039: Arrayルール定義 | E-19 | ○ |
| C-40 | UT-GRM-040: Objectルール定義 | E-20 | ○ |
| C-41 | UT-GRM-041: Rangeルール定義 | E-19 | ○ |
| C-42 | UT-GRM-042: Sliceルール定義 | E-19 | ○ |
| C-43 | UT-GRM-043: Yieldルール定義 | E-21 | ○ |
| C-44 | UT-GRM-044: Superルール定義 | E-22 | ○ |
| C-45 | UT-GRM-045: Stringルール定義 | E-23 | ○ |
| C-46 | UT-GRM-046: Regexルール定義 | E-24 | ○ |
| C-47 | UT-GRM-047: 演算子優先順位定義 | E-25 | ○ |
| C-48 | UT-GRM-048: DO_IIFE最高優先順位 | E-25 (行952) | ○ |
| C-49 | UT-GRM-049: POST_IF最低優先順位 | E-25 (行977) | ○ |
| C-50 | UT-GRM-050: 算術演算子優先順位 | E-25 (行959-962) | ○ |
| C-51 | UT-GRM-051: 論理演算子優先順位 | E-25 (行969-971) | ○ |
| C-52 | UT-GRM-052: トークンリスト生成 | E-26 | ○ |
| C-53 | UT-GRM-053: ターミナルシンボル | E-26 (行990-991) | ○ |
| C-54 | UT-GRM-054: 非ターミナル除外 | E-26 (行991) | ○ |
| C-55 | UT-GRM-055: Jisonパーサー初期化 | E-27 | ○ |
| C-56 | UT-GRM-056: トークン文字列設定 | E-27 (行1000) | ○ |
| C-57 | UT-GRM-057: 文法ルール設定 | E-27 (行1001) | ○ |
| C-58 | UT-GRM-058: 優先順位逆順設定 | E-27 (行1002) | ○ |
| C-59 | UT-GRM-059: 開始シンボル設定 | E-27 (行1003) | ○ |
| C-60 | UT-GRM-060: 空入力時のRoot生成 | E-03 (行105) | △ |
| C-61 | UT-GRM-061: Body付きRoot生成 | E-03 (行106) | △ |
| C-62 | UT-GRM-062: 空パラメータリスト | E-28 (行357) | ○ |
| C-63 | UT-GRM-063: 単一パラメータ | E-28 (行358) | ○ |
| C-64 | UT-GRM-064: 複数パラメータ | E-28 (行359) | ○ |
| C-65 | UT-GRM-065: 通常パラメータ | E-28 (行367) | ○ |
| C-66 | UT-GRM-066: スプラット後置 | E-28 (行368) | ○ |
| C-67 | UT-GRM-067: スプラット前置 | E-28 (行369) | ○ |
| C-68 | UT-GRM-068: デフォルト値パラメータ | E-28 (行370) | ○ |
| C-69 | UT-GRM-069: 展開記号のみ | E-28 (行371) | ○ |
| C-70 | UT-GRM-070: 関数呼び出し | E-29 (行562) | ○ |
| C-71 | UT-GRM-071: タグ付きテンプレート | E-29 (行561) | ○ |
| C-72 | UT-GRM-072: super呼び出し | E-29 (行563) | ○ |
| C-73 | UT-GRM-073: 動的インポート | E-29 (行564) | ○ |
| C-74 | UT-GRM-074: new.target | E-30 (行427) | ○ |
| C-75 | UT-GRM-075: import.meta | E-30 (行428) | ○ |
| C-76 | UT-GRM-076: thisキーワード | E-31 (行581) | ○ |
| C-77 | UT-GRM-077: @記法 | E-31 (行582) | ○ |
| C-78 | UT-GRM-078: @propertyアクセス | E-31 (行587) | ○ |
| C-79 | UT-GRM-079: 値付きreturn | E-32 (行313) | ○ |
| C-80 | UT-GRM-080: 値なしreturn | E-32 (行315) | ○ |
| C-81 | UT-GRM-081: 例外スロー | E-33 (行694) | ○ |
| C-82 | UT-GRM-082: 識別子付きcatch | E-16 (行687) | ○ |
| C-83 | UT-GRM-083: 分割代入付きcatch | E-16 (行688) | ○ |
| C-84 | UT-GRM-084: 変数なしcatch | E-16 (行689) | ○ |
| C-85 | UT-GRM-085: 括弧式 | E-34 (行703) | ○ |
| C-86 | UT-GRM-086: インデント付き括弧式 | E-34 (行704) | ○ |
| C-87 | UT-GRM-087: in式 | E-14 (行791) | ○ |
| C-88 | UT-GRM-088: of式 | E-14 (行792) | ○ |
| C-89 | UT-GRM-089: from式 | E-14 (行807) | ○ |
| C-90 | UT-GRM-090: guard付きfor | E-14 (行793) | ○ |
| C-91 | UT-GRM-091: step付きfor | E-14 (行797) | ○ |
| C-92 | UT-GRM-092: 単純インポート | E-35 (行509) | ○ |
| C-93 | UT-GRM-093: エイリアス付きインポート | E-35 (行510) | ○ |
| C-94 | UT-GRM-094: defaultインポート | E-35 (行511) | ○ |
| C-95 | UT-GRM-095: 単純エクスポート | E-36 (行552) | ○ |
| C-96 | UT-GRM-096: エイリアス付きエクスポート | E-36 (行553) | ○ |
| C-97 | UT-GRM-097: default asエクスポート | E-36 (行554) | ○ |
| C-98 | UT-GRM-098: whenケース | E-37 (行850) | ○ |
| C-99 | UT-GRM-099: 無限ループ | E-13 (行735) | ○ |
| C-100 | UT-GRM-100: do即時実行 | E-38 (行937) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-60, C-61（Root動作確認）**: 文法定義としては存在するが、実行時にJisonパーサーを介した動作確認が必要。ソースコードの文法定義から期待動作は推測可能だが、パーサー生成後の実際の挙動は統合テストで確認するのが適切。
  - 候補：Jison生成後のparser.jsを使った統合テスト / CoffeeScriptの既存テストスイート確認

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 大部分のテストケースはソースコードの文法定義から直接導出
- **1: 中リスク** - パーサー実行時の動作に関するテストケース（C-60, C-61）は実行環境依存
- **0: 低リスク** - 演算子優先順位はソースコードに明示的に定義されている

## 6) レビュアーチェックリスト（最小）
- [ ] o関数のテストケース（UT-GRM-001〜013）が文字列変換ロジックを網羅しているか確認
- [ ] 文法ルール（grammar.*）のテストケースが主要な構文要素を網羅しているか確認
- [ ] 演算子優先順位のテストケース（UT-GRM-047〜051）がJisonの優先順位逆転を考慮しているか確認
- [ ] エクスポートされるparser（UT-GRM-055〜059）の初期化パラメータが正しいか確認
- [ ] 境界値テストケース（空パターン、単一トークン、複数トークン）が十分か確認
