mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-06 02:49:56 +00:00
* feat(cobol): migrate COBOL to scope-based resolution (regex provider)
Migrate COBOL to scope-based registry resolution, validating the
parse-source-agnostic contract — COBOL uses regex, not tree-sitter,
but implements the same LanguageProvider interface via emitScopeCaptures.
Phase 1-5 complete per #941 DoD.
New files:
languages/cobol/captures.ts — emitScopeCaptures wrapping regex tagger
languages/cobol/interpret.ts — import/type-binding/receiver hooks
languages/cobol/index.ts — barrel export
languages/cobol/scope-resolver.ts — ScopeResolver wiring (9 fields, 3 toggles)
Modified files:
languages/cobol.ts — wire 4 scope-resolution hooks
registry.ts — register cobolScopeResolver
registry-primary-flag.ts — document REGISTRY_PRIMARY_COBOL
Fixtures:
17 fixture files, 30 test cases across 11 required classes
test/integration/resolvers/cobol-scope.test.ts
Tests: 24/24 pass (default + REGISTRY_PRIMARY_COBOL=0)
tsc: zero cobol-specific errors
Shadow mode (GITNEXUS_SHADOW_MODE=1): zero crashes
Regex perf: 10K-line file in 408ms (threshold: 2000ms)
NOT added to MIGRATED_LANGUAGES — REGISTRY_PRIMARY_COBOL env var only.
* chore(cobol): add COBOL to MIGRATED_LANGUAGES
* Revert "chore(cobol): add COBOL to MIGRATED_LANGUAGES"
This reverts commit f234330e9f.
* fix(cobol): revert MIGRATED_LANGUAGES flip, fix JSDoc dup, fix arityCompatibility
---------
Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
74 lines
2.2 KiB
COBOL
74 lines
2.2 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. CUSTUPDT.
|
|
AUTHOR. TEST.
|
|
|
|
ENVIRONMENT DIVISION.
|
|
INPUT-OUTPUT SECTION.
|
|
FILE-CONTROL.
|
|
SELECT CUSTOMER-FILE ASSIGN TO 'CUSTFILE'
|
|
ORGANIZATION IS INDEXED
|
|
ACCESS IS DYNAMIC
|
|
RECORD KEY IS CUST-ID
|
|
FILE STATUS IS WS-FILE-STATUS.
|
|
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
FD CUSTOMER-FILE.
|
|
01 CUSTOMER-RECORD.
|
|
05 CUST-ID PIC 9(8).
|
|
05 CUST-NAME PIC X(30).
|
|
05 CUST-BALANCE PIC 9(7)V99.
|
|
|
|
WORKING-STORAGE SECTION.
|
|
01 WS-FILE-STATUS PIC XX.
|
|
01 WS-CUSTOMER-NAME PIC X(30).
|
|
01 WS-AMOUNT PIC 9(7)V99.
|
|
01 WS-EOF PIC 9 VALUE 0.
|
|
88 END-OF-FILE VALUE 1.
|
|
01 WS-AMT PIC 9(5)V99.
|
|
01 WS-PROG-NAME PIC X(8).
|
|
01 FIELD-A PIC 9(5)V99.
|
|
01 FIELD-B PIC 9(5)V99.
|
|
COPY COPYLIB REPLACING ==PREFIX-== BY ==WS-==.
|
|
|
|
LINKAGE SECTION.
|
|
01 LS-PARAM PIC X(20).
|
|
|
|
PROCEDURE DIVISION.
|
|
INIT-SECTION SECTION.
|
|
MAIN-PARAGRAPH.
|
|
PERFORM INIT-PARAGRAPH
|
|
PERFORM PROCESS-PARAGRAPH
|
|
PERFORM CLEANUP-PARAGRAPH
|
|
STOP RUN.
|
|
|
|
INIT-PARAGRAPH.
|
|
OPEN I-O CUSTOMER-FILE
|
|
MOVE SPACES TO WS-CUSTOMER-NAME.
|
|
|
|
PROCESSING-SECTION SECTION.
|
|
PROCESS-PARAGRAPH.
|
|
PERFORM READ-CUSTOMER THRU WRITE-CUSTOMER
|
|
CALL "AUDITLOG" USING CUST-ID WS-AMOUNT
|
|
CALL WS-PROG-NAME.
|
|
|
|
READ-CUSTOMER.
|
|
READ CUSTOMER-FILE
|
|
NOT AT END
|
|
MOVE CUST-NAME TO WS-CUSTOMER-NAME
|
|
END-READ.
|
|
|
|
UPDATE-BALANCE.
|
|
ADD WS-AMOUNT TO CUST-BALANCE
|
|
MOVE WS-AMOUNT TO CUST-BALANCE
|
|
MOVE WS-AMT TO FIELD-A FIELD-B.
|
|
|
|
WRITE-CUSTOMER.
|
|
REWRITE CUSTOMER-RECORD.
|
|
|
|
CLEANUP-PARAGRAPH.
|
|
CLOSE CUSTOMER-FILE.
|
|
|
|
ENTRY 'ALTENTRY' USING LS-PARAM.
|
|
DISPLAY 'ALTERNATE ENTRY POINT'
|
|
GOBACK.
|