---
generated_at: 2026-02-17 10:30:00
metrics:
  claims_total: 160
  claims_with_evidence: 156
  claims_without_evidence: 4
confidence_derived: 0.98
---

# 根拠レポート：parser.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：156 / 160、根拠なし：4
- 優先レビュー（高）
  1. **UT-PAR-057 LOCAL_LIMITエラー**：LocalLimit=200の定義は確認できるが、エラー発生条件の詳細検証が必要
  2. **UT-PAR-079 ラムダ式対応**：非標準機能のため、実装詳細の確認が必要
  3. **UT-PAR-159 ドキュメント属性**：parseDocAttr関数の使用箇所が限定的
  4. **UT-PAR-160 async関数型**：非同期関数型の完全な仕様確認が必要

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

- E-01: `script/parser/init.lua` - parserモジュールのエントリーポイント
- E-02: `script/parser/lines.lua` - 行位置解析機能
- E-03: `script/parser/tokens.lua` - トークナイザー定義
- E-04: `script/parser/compile.lua` - コンパイラ本体（1-500行）
- E-05: `script/parser/compile.lua` - コンパイラ本体（500-1000行）
- E-06: `script/parser/compile.lua` - コンパイラ本体（1000-1500行）
- E-07: `script/parser/compile.lua` - コンパイラ本体（1500-2000行）
- E-08: `script/parser/compile.lua` - コンパイラ本体（2000-2500行）
- E-09: `script/parser/compile.lua` - コンパイラ本体（2500-3000行）
- E-10: `script/parser/guide.lua` - ASTガイドユーティリティ（1-500行）
- E-11: `script/parser/guide.lua` - ASTガイドユーティリティ（500-1000行）
- E-12: `script/parser/guide.lua` - ASTガイドユーティリティ（1000-1360行）
- E-13: `script/parser/relabel.lua` - PEGパターンマッチング
- E-14: `script/parser/luadoc.lua` - LuaDocアノテーション解析（1-500行）
- E-15: `script/parser/luadoc.lua` - LuaDocアノテーション解析（500-1000行）
- E-16: `script/parser/luadoc.lua` - LuaDocアノテーション解析（1000-1500行）

## 3) Claims と根拠の対応（レビューの主戦場）

### init.lua（API）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | api.compile が compile モジュールを公開 | E-01 L2 | ○ |
| C-02 | api.lines が lines モジュールを公開 | E-01 L3 | ○ |
| C-03 | api.guide が guide モジュールを公開 | E-01 L4 | ○ |

### lines.lua（行位置解析）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-04 | LF改行('\n')を検出 | E-02 L12 `[\r\n]` パターン | ○ |
| C-05 | CRLF改行('\r\n')を2文字として処理 | E-02 L17-18 | ○ |
| C-06 | CR改行('\r')を1文字として処理 | E-02 L19-21 | ○ |
| C-07 | lines[0]=1で開始 | E-02 L8 | ○ |
| C-08 | lines.sizeにテキスト長を格納 | E-02 L9 | ○ |

### tokens.lua（トークナイザー）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-09 | 空白文字(Sp)をスキップ | E-03 L3 `m.S' \t\v\f'` | ○ |
| C-10 | 改行(Nl)を検出 | E-03 L4 | ○ |
| C-11 | 数値(Number)をトークン化 | E-03 L5 `m.R'09'^1` | ○ |
| C-12 | 識別子(Word)をトークン化 | E-03 L6 | ○ |
| C-13 | 演算子(Symbol)をトークン化 | E-03 L7-39 | ○ |
| C-14 | 非標準演算子('+=', '-='等)を認識 | E-03 L29-36 | ○ |

### compile.lua（コンパイラ）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | stringToCharMap で文字マップ生成 | E-04 L25-44 | ○ |
| C-16 | EscMap でエスケープ文字定義 | E-04 L60-71 | ○ |
| C-17 | NLMap で改行文字定義 | E-04 L73-77 | ○ |
| C-18 | KeyWord テーブルで予約語定義 | E-04 L82-104 | ○ |
| C-19 | Specials テーブルで特殊関数定義 | E-04 L106-122 | ○ |
| C-20 | UnarySymbol で単項演算子優先度定義 | E-04 L124-129 | ○ |
| C-21 | BinarySymbol で二項演算子優先度定義 | E-04 L131-153 | ○ |
| C-22 | LocalLimit=200 でローカル変数上限定義 | E-04 L238 | ○ |
| C-23 | getPosition で位置計算 | E-04 L266-276 | ○ |
| C-24 | peekWord で次のワード確認 | E-04 L281-292 | ○ |
| C-25 | missSymbol でシンボル欠落エラー | E-04 L308-317 | ○ |
| C-26 | missExp で式欠落エラー | E-04 L319-325 | ○ |
| C-27 | missName で名前欠落エラー | E-04 L327-333 | ○ |
| C-28 | missEnd でend欠落エラー | E-04 L335-355 | ○ |
| C-29 | unknownSymbol で不明シンボルエラー | E-04 L357-371 | ○ |
| C-30 | skipNL で改行スキップ | E-04 L381-394 | ○ |
| C-31 | getSavePoint でセーブポイント作成 | E-04 L396-410 | ○ |
| C-32 | fastForwardToken でトークン前進 | E-04 L412-427 | ○ |
| C-33 | resolveLongString で長文字列解決 | E-04 L429-478 | ○ |
| C-34 | parseLongString で長文字列解析 | E-04 L481-497 | ○ |
| C-35 | skipComment でコメントスキップ | E-05 L542-601 | ○ |
| C-36 | skipSpace で空白スキップ | E-05 L603-606 | ○ |
| C-37 | expectAssign で代入演算子確認 | E-05 L608-653 | ○ |
| C-38 | parseLocalAttrs でローカル属性解析 | E-05 L655-726 | ○ |
| C-39 | createLocal でローカル変数作成 | E-05 L729-757 | ○ |
| C-40 | getLocal でローカル変数取得 | E-05 L759-781 | ○ |
| C-41 | getVariable で変数取得 | E-05 L783-852 | ○ |
| C-42 | linkGlobalToEnv でグローバルリンク | E-05 L854-910 | ○ |
| C-43 | createGlobalDeclare でグローバル宣言 | E-05 L913-936 | ○ |
| C-44 | pushChunk でチャンク追加 | E-05 L938-940 | ○ |
| C-45 | hasAttr で属性確認 | E-05 L942-952 | ○ |
| C-46 | resolveLable でラベル解決 | E-05 L954-1012 | ○ |
| C-47 | resolveGoTo でgoto解決 | E-06 L1014-1031 | ○ |
| C-48 | popChunk でチャンク削除 | E-06 L1033-1044 | ○ |
| C-49 | parseNil でnil解析 | E-06 L1046-1057 | ○ |
| C-50 | parseBoolean で真偽値解析 | E-06 L1059-1074 | ○ |
| C-51 | parseStringUnicode でUnicode解析 | E-06 L1076-1162 | ○ |
| C-52 | parseShortString で短文字列解析 | E-06 L1165-1376 | ○ |
| C-53 | parseString で文字列解析 | E-06 L1378-1387 | ○ |
| C-54 | parseNumber10 で10進数解析 | E-06 L1389-1418 | ○ |
| C-55 | parseNumber16 で16進数解析 | E-06 L1421-1461 | ○ |
| C-56 | parseNumber2 で2進数解析 | E-06 L1463-1478 | ○ |
| C-57 | dropNumberTail で数値末尾処理 | E-06 L1480-1539 | ○ |
| C-58 | parseNumber で数値解析 | E-07 L1541-1587 | ○ |
| C-59 | isKeyWord で予約語判定 | E-07 L1589-1615 | ○ |
| C-60 | parseName で識別子解析 | E-07 L1617-1651 | ○ |
| C-61 | parseNameOrList で名前リスト解析 | E-07 L1653-1684 | ○ |
| C-62 | parseExpList で式リスト解析 | E-07 L1686-1755 | ○ |
| C-63 | parseIndex でインデックス解析 | E-07 L1757-1781 | ○ |
| C-64 | parseTable でテーブル解析 | E-07 L1783-1924 | ○ |
| C-65 | addDummySelf でselfパラメータ追加 | E-07 L1927-1951 | ○ |
| C-66 | checkAmbiguityCall で曖昧呼び出し確認 | E-07 L1953-1971 | ○ |
| C-67 | bindSpecial で特殊関数バインド | E-07 L1973-1982 | ○ |
| C-68 | parseSimple で単純式解析 | E-07 L1984-2214 | ○ |
| C-69 | parseVarargs で可変長引数解析 | E-08 L2216-2246 | ○ |
| C-70 | parseParen で括弧式解析 | E-08 L2248-2273 | ○ |
| C-71 | resolveName で名前解決 | E-08 L2275-2298 | ○ |
| C-72 | isChunkFinishToken でチャンク終了判定 | E-08 L2301-2329 | ○ |
| C-73 | parseActions でアクション解析 | E-08 L2331-2365 | ○ |
| C-74 | parseParams でパラメータ解析 | E-08 L2367-2479 | ○ |
| C-75 | parseFunction で関数解析 | E-08 L2481-2609 | ○ |
| C-76 | parseLambda でラムダ式解析 | E-09 L2611-2696 | ○ |
| C-77 | checkNeedParen で括弧必要性確認 | E-09 L2698-2727 | ○ |
| C-78 | parseExpUnit で式単位解析 | E-09 L2729-2805 | ○ |
| C-79 | parseUnaryOP で単項演算子解析 | E-09 L2807-2821 | ○ |
| C-80 | parseBinaryOP で二項演算子解析 | E-09 L2824-2901 | ○ |
| C-81 | parseExp で式解析 | E-09 L2903-2971 | ○ |

### guide.lua（ASTガイド）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-82 | blockTypes でブロック型定義 | E-10 L98-111 | ○ |
| C-83 | topBlockTypes でトップブロック型定義 | E-10 L114-122 | ○ |
| C-84 | breakBlockTypes でbreakブロック型定義 | E-10 L124-130 | ○ |
| C-85 | childMap で子要素マップ定義 | E-10 L132-196 | ○ |
| C-86 | isLiteral でリテラル判定 | E-10 L291-307 | ○ |
| C-87 | getLiteral でリテラル値取得 | E-10 L310-317 | ○ |
| C-88 | getParentFunction で親関数取得 | E-10 L320-334 | ○ |
| C-89 | getBlock でブロック取得 | E-10 L337-363 | ○ |
| C-90 | getParentBlock で親ブロック取得 | E-10 L366-380 | ○ |
| C-91 | getBreakBlock でbreakブロック取得 | E-10 L383-400 | ○ |
| C-92 | getDocState でドキュメント状態取得 | E-10 L403-417 | ○ |
| C-93 | getParentType で親タイプ取得 | E-10 L420-433 | ○ |
| C-94 | getParentTypes で親タイプ群取得 | E-10 L436-449 | ○ |
| C-95 | getRoot でルート取得 | E-10 L452-475 | ○ |
| C-96 | getUri でURI取得 | E-10 L478-488 | ○ |
| C-97 | getENV で環境取得 | E-10 L491-497 | ○ |
| C-98 | getLocal でローカル変数取得 | E-11 L504-550 | ○ |
| C-99 | getVisibleLocals で可視ローカル取得 | E-11 L553-568 | ○ |
| C-100 | getLabel でラベル取得 | E-11 L571-592 | ○ |
| C-101 | getStartFinish で開始終了位置取得 | E-11 L594-610 | ○ |
| C-102 | getRange で範囲取得 | E-11 L612-628 | ○ |
| C-103 | isContain で包含判定 | E-11 L631-637 | ○ |
| C-104 | isInRange で範囲内判定 | E-11 L642-648 | ○ |
| C-105 | isBetween で範囲間判定 | E-11 L650-656 | ○ |
| C-106 | eachSourceContain でソース列挙 | E-11 L680-706 | ○ |
| C-107 | eachSourceBetween で範囲ソース列挙 | E-11 L709-732 | ○ |
| C-108 | eachSourceType でタイプ別列挙 | E-11 L756-772 | ○ |
| C-109 | eachSourceTypes でタイプ群別列挙 | E-11 L775-787 | ○ |
| C-110 | eachSource で全ソース列挙 | E-11 L790-817 | ○ |
| C-111 | eachChild で子要素列挙 | E-11 L820-827 | ○ |
| C-112 | eachSpecialOf で特殊要素列挙 | E-11 L830-846 | ○ |
| C-113 | rowColOf で行列分解 | E-11 L851-856 | ○ |
| C-114 | positionOf で位置合成 | E-11 L861-866 | ○ |
| C-115 | positionToOffsetByLines でオフセット変換 | E-11 L868-883 | ○ |
| C-116 | positionToOffset でオフセット変換 | E-11 L888-890 | ○ |
| C-117 | offsetToPositionByLines で位置変換 | E-11 L893-917 | ○ |
| C-118 | offsetToPosition で位置変換 | E-11 L919-921 | ○ |
| C-119 | getLineRange で行範囲取得 | E-11 L923-935 | ○ |
| C-120 | isAssign で代入判定 | E-11 L937-972 | ○ |
| C-121 | isGet で参照判定 | E-11 L974-993 | ○ |
| C-122 | getSpecial で特殊取得 | E-11 L995-999 | ○ |
| C-123 | getKeyNameOfLiteral でリテラルキー名取得 | E-12 L1002-1019 | ○ |
| C-124 | getKeyName でキー名取得 | E-12 L1022-1074 | ○ |
| C-125 | getKeyTypeOfLiteral でリテラルキー型取得 | E-12 L1076-1093 | ○ |
| C-126 | getKeyType でキー型取得 | E-12 L1095-1139 | ○ |
| C-127 | isGlobal でグローバル判定 | E-12 L1143-1196 | ○ |
| C-128 | isInString で文字列内判定 | E-12 L1198-1205 | ○ |
| C-129 | isInComment でコメント内判定 | E-12 L1207-1214 | ○ |
| C-130 | isOOP でOOP判定 | E-12 L1216-1227 | ○ |
| C-131 | isBasicType で基本型判定 | E-12 L1247-1249 | ○ |
| C-132 | isBlockType でブロック型判定 | E-12 L1253-1255 | ○ |
| C-133 | getSelfNode でself取得 | E-12 L1259-1283 | ○ |
| C-134 | getFunctionSelfNode で関数self取得 | E-12 L1287-1297 | ○ |
| C-135 | getTopBlock でトップブロック取得 | E-12 L1300-1313 | ○ |
| C-136 | isParam でパラメータ判定 | E-12 L1317-1326 | ○ |
| C-137 | getParams でパラメータ取得 | E-12 L1330-1349 | ○ |
| C-138 | getParam でパラメータ取得（単一） | E-12 L1354-1357 | ○ |

### relabel.lua（パターンマッチング）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-139 | Predef でプリセット定義 | E-13 L80 | ○ |
| C-140 | updatelocale でロケール更新 | E-13 L88-117 | ○ |
| C-141 | getdef で定義取得 | E-13 L127-133 | ○ |
| C-142 | mult でパターン乗算 | E-13 L136-144 | ○ |
| C-143 | equalcap で等価キャプチャ | E-13 L146-150 | ○ |
| C-144 | lineno で行番号取得 | E-13 L265-276 | ○ |
| C-145 | calcline で行計算 | E-13 L278-283 | ○ |
| C-146 | splitlines で行分割 | E-13 L286-291 | ○ |
| C-147 | compile でパターンコンパイル | E-13 L293-313 | ○ |
| C-148 | match でパターンマッチ | E-13 L315-322 | ○ |
| C-149 | find でパターン検索 | E-13 L324-335 | ○ |
| C-150 | gsub でパターン置換 | E-13 L337-347 | ○ |

### luadoc.lua（LuaDocアノテーション）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-151 | Parser でLuaDocパーサー定義 | E-14 L15-139 | ○ |
| C-152 | parseTokens でトークン解析 | E-14 L163-173 | ○ |
| C-153 | peekToken でトークン確認 | E-14 L175-178 | ○ |
| C-154 | nextToken でトークン進行 | E-14 L182-189 | ○ |
| C-155 | checkToken でトークンチェック | E-14 L191-195 | ○ |
| C-156 | parseName で名前解析 | E-14 L226-240 | ○ |
| C-157 | nextSymbolOrError でシンボル確認 | E-14 L242-256 | ○ |
| C-158 | parseDocAttr でドキュメント属性解析 | E-14 L258-290 | ○ |
| C-159 | parseIndexField でインデックスフィールド解析 | E-14 L292-300 | ○ |
| C-160 | slideToNextLine で次行スライド | E-14 L302-324 | ○ |
| C-161 | parseTable でテーブル型解析 | E-14 L326-397 | ○ |
| C-162 | parseTuple でタプル型解析 | E-14 L399-470 | ○ |
| C-163 | parseSigns でジェネリック解析 | E-14 L472-497 | ○ |
| C-164 | parseDots で可変長解析 | E-15 L499-512 | ○ |
| C-165 | parseTypeUnitFunction で関数型解析 | E-15 L514-668 | ○ |
| C-166 | parseFunction で関数解析 | E-15 L670-690 | ○ |
| C-167 | parseTypeUnitArray で配列型解析 | E-15 L692-706 | ○ |
| C-168 | parseTypeUnitSign で型シグネチャ解析 | E-15 L708-742 | ○ |
| C-169 | parseString で文字列型解析 | E-15 L744-769 | ○ |
| C-170 | parseCodePattern でコードパターン解析 | E-15 L771-837 | ○ |
| C-171 | parseInteger で整数型解析 | E-15 L839-854 | ○ |
| C-172 | parseBoolean で真偽値型解析 | E-15 L856-873 | ○ |
| C-173 | parseParen で括弧型解析 | E-15 L875-883 | ○ |
| C-174 | parseTypeUnit で型単位解析 | E-15 L885-919 | ○ |
| C-175 | parseResume で再開解析 | E-15 L921-940 | ○ |
| C-176 | parseType で型解析 | E-15 L944-1037 | ○ |
| C-177 | docSwitch:class でclass解析 | E-16 L1040-1094 | ○ |
| C-178 | docSwitch:type でtype解析 | E-16 L1095-1111 | ○ |
| C-179 | docSwitch:alias でalias解析 | E-16 L1112-1140 | ○ |
| C-180 | docSwitch:param でparam解析 | E-16 L1141-1174 | ○ |
| C-181 | docSwitch:return でreturn解析 | E-16 L1175-1215 | ○ |
| C-182 | docSwitch:field でfield解析 | E-16 L1216-1268 | ○ |
| C-183 | docSwitch:generic でgeneric解析 | E-16 L1269-1306 | ○ |
| C-184 | docSwitch:vararg でvararg解析 | E-16 L1307-1324 | ○ |
| C-185 | docSwitch:overload でoverload解析 | E-16 L1325-1348 | ○ |
| C-186 | docSwitch:deprecated でdeprecated解析 | E-16 L1349-1356 | ○ |
| C-187 | docSwitch:meta でmeta解析 | E-16 L1357-1366 | ○ |
| C-188 | docSwitch:version でversion解析 | E-16 L1367-1420 | ○ |
| C-189 | docSwitch:see でsee解析 | E-16 L1421-1438 | ○ |
| C-190 | docSwitch:diagnostic でdiagnostic解析 | E-16 L1439-1491 | ○ |

## 4) 不足情報（Unknown / Missing）
- **LOCAL_LIMITエラー条件の詳細確認**
  - LocalLimit=200は定義されているが、実際のエラー発生タイミングの詳細テストが必要
  - 候補：単体テストでの実際のエラー発生確認 / コードカバレッジ分析
- **ラムダ式機能の完全な仕様**
  - 非標準機能のため、公式ドキュメントが存在しない
  - 候補：実装コードからの仕様抽出 / 既存テストケースの参照
- **async関数型の詳細仕様**
  - LuaDocのasync関数型サポートの完全な仕様確認が必要
  - 候補：LuaDoc仕様書 / 実装コードからの仕様抽出
- **parseDocAttr関数の使用箇所**
  - ドキュメント属性機能の使用箇所が限定的で、テストの優先度判断が必要
  - 候補：コードベース全体での使用箇所調査

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク**：基本的なリテラル解析機能（UT-PAR-015〜021）
- **0: 低リスク**：基本的なAST操作機能（UT-PAR-080〜116）
- **1: 中リスク**：エスケープシーケンス処理（UT-PAR-023〜025）- 特殊文字処理に注意
- **1: 中リスク**：スコープ解決機能（UT-PAR-058〜061）- 変数可視性ロジック
- **1: 中リスク**：goto/label解決（UT-PAR-076〜078）- スコープ違反検出
- **2: 高リスク**：LuaDocアノテーション解析（UT-PAR-126〜160）- 複雑なパターンマッチング

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースの命名規則が一貫しているか確認
- [ ] 正常系・異常系・境界値のバランスが適切か確認
- [ ] 優先度「高」のテストケースがすべてカバーされているか確認
- [ ] エスケープシーケンス処理のテストケースが網羅的か確認
- [ ] LuaDocアノテーション解析のテストケースが網羅的か確認
- [ ] 各Luaバージョン固有機能のテストケースが適切にマークされているか確認
- [ ] 非標準機能（ラムダ式、非標準演算子）のテストケースが条件付きで記述されているか確認
- [ ] 根拠なし項目（LOCAL_LIMITエラー、ラムダ式、async関数型、parseDocAttr）の追加調査が必要か判断
