test: add HINA type-specific COBOL test data suite (10 programs, 8/10 pass)

This commit is contained in:
hangshuo652
2026-06-18 16:55:43 +08:00
parent 2e64f208ea
commit 9ad0e88a1a
12 changed files with 617 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
* HINA024 - 内部テーブル検索(SEARCH ALL)
>>SOURCE FORMAT IS FREE
* OCCURS + SEARCH ALL によるテーブル検索
* 期待: SEARCH ALL, OCCURS, 2 IF, 5 段落
IDENTIFICATION DIVISION.
PROGRAM-ID. HINA024.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-TABLE.
05 WS-ENTRY OCCURS 10 TIMES
ASCENDING KEY IS WS-ENTRY-ID
INDEXED BY WS-IDX.
10 WS-ENTRY-ID PIC 9(03).
10 WS-ENTRY-NAME PIC X(10).
01 WS-SEARCH-ID PIC 9(03).
01 WS-FOUND PIC X VALUE 'N'.
88 FOUND-YES VALUE 'Y'.
01 WS-RESULT PIC X(30).
PROCEDURE DIVISION.
0000-MAIN.
PERFORM 1000-INIT.
MOVE 7 TO WS-SEARCH-ID.
PERFORM 2000-SEARCH.
DISPLAY WS-RESULT.
MOVE 99 TO WS-SEARCH-ID.
PERFORM 2000-SEARCH.
DISPLAY WS-RESULT.
STOP RUN.
1000-INIT.
MOVE 1 TO WS-ENTRY-ID(1) MOVE "ALPHA" TO WS-ENTRY-NAME(1).
MOVE 3 TO WS-ENTRY-ID(2) MOVE "BETA" TO WS-ENTRY-NAME(2).
MOVE 5 TO WS-ENTRY-ID(3) MOVE "GAMMA" TO WS-ENTRY-NAME(3).
MOVE 7 TO WS-ENTRY-ID(4) MOVE "DELTA" TO WS-ENTRY-NAME(4).
MOVE 9 TO WS-ENTRY-ID(5) MOVE "EPSLN" TO WS-ENTRY-NAME(5).
2000-SEARCH.
SET WS-IDX TO 1.
SEARCH ALL WS-ENTRY
AT END
MOVE "NOT FOUND" TO WS-RESULT
WHEN WS-ENTRY-ID(WS-IDX) = WS-SEARCH-ID
STRING "FOUND=" WS-ENTRY-NAME(WS-IDX)
DELIMITED BY SIZE INTO WS-RESULT.