# Yama64

Yama は、COBOL のソースコードおよび固定長データファイルを解析・閲覧するための Windows 向けツールです。

COBOL のデータ定義をツリー形式で確認しながら、固定長レコードの内容を各項目単位でデコードして表示できます。

---

## 主な機能

- COBOL ソースコードの解析
- COBOL データ定義のツリー表示
- 固定長データファイルの読み込み
- PIC 定義に基づくデータ値の表示
- レコード移動
  - 先頭
  - 前
  - 次
  - 最終
  - レコード番号直接指定
- PIC X / PIC 9 / PIC S9 / PIC N 対応
- SIGN LEADING / TRAILING SEPARATE 対応
- COMP / BINARY データ対応
- COMP-3（PACKED DECIMAL）対応
- OCCURS / REDEFINES 等の解析
- 解析結果検索
- ソースファイル一覧表示
- UI 配色設定
- データカラム背景色設定

---

## 動作環境

- Windows 10 / Windows 11
- 64bit
- Visual C++ Runtime が必要になる場合があります

---

## 基本的な使い方

1. COBOL ソースファイルを開きます。
　・ソースのD&Dに対応しています。
　・複数のソースを連結することが可能です。
2. ソースを解析します。
3. 解析されたレコード定義を確認します。
4. 対応する固定長データファイルを開きます。
5. 「データ」カラムに各項目の値が表示されます。
6. 画面下部のデータパネルからレコードを移動できます。

---

## データパネル

データファイルを開くと、アウトプット領域にデータパネルが表示されます。

表示内容：

- データファイル名
- レコード名
- 現在レコード番号
- 総レコード数
- レコードサイズ

レコード移動ボタン：

- `<<` 先頭レコード
- `<` 前のレコード
- `>` 次のレコード
- `>>` 最終レコード

現在レコード番号をクリックすると、レコード番号を直接入力できます。

---

## 対応データ形式

現在、主に以下の COBOL データ定義に対応しています。

- `PIC X`
- `PIC 9`
- `PIC S9`
- `PIC V`
- `PIC N`
- `SIGN IS LEADING SEPARATE`
- `SIGN IS TRAILING SEPARATE`
- `COMP`
- `BINARY`
- `COMP-3`
- `PACKED-DECIMAL`

※ COBOL コンパイラや方言によっては、正しく解析できない構文があります。

---

## 注意事項

Yama64 は現在開発中です。

解析結果やデータ値については、実際の COBOL コンパイラおよび業務仕様と照合して確認してください。

現時点では、データファイルの閲覧を主目的としており、編集機能は未実装です。

---

## 今後の予定

- 複数レコードの ListView 表示
- Unicode / UTF-8 / UTF-16 対応
- データファイル編集機能
- 検索・絞り込み機能
- CSV 出力
- Undo / バックアップ等の編集安全機構

---

## 開発環境

- C++
- Visual Studio 2022
- Win32 API
- Common Controls / ListView

---

## License

本ソフトウェアはフリーウェアです。
個人・法人を問わず無償で使用できます。

本ソフトウェアの再配布は、内容を改変しない場合に限り許可します。
ソースコードの改変・再配布については作者の許可なく行わないでください。

本ソフトウェアの使用によって発生した損害について、
作者は一切の責任を負いません。

Copyright (C) 2026 Pol.

FAQやバグ報告、要望等はこちらまで、
mamep1606@gmail.com

---

## Yama

COBOL の構造を、見やすく、扱いやすく。
