mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-03 02:21:44 +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>
77 lines
2.2 KiB
COBOL
77 lines
2.2 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. AUDITLOG.
|
|
|
|
DATA DIVISION.
|
|
WORKING-STORAGE SECTION.
|
|
01 WS-LOG-MESSAGE PIC X(80).
|
|
01 WS-TIMESTAMP PIC X(26).
|
|
01 WS-IDX PIC 9(4).
|
|
01 WS-EOF-FLAG PIC 9 VALUE 0.
|
|
01 WS-PARAM-A PIC X(10).
|
|
01 WS-PARAM-B PIC X(10).
|
|
01 WS-PARAM-C PIC X(10).
|
|
01 WS-INDEX PIC 9(2).
|
|
01 WS-FLAG PIC 9.
|
|
COPY AUDITCONST.
|
|
COPY AUDITVARS.
|
|
|
|
LINKAGE SECTION.
|
|
01 LS-CUST-ID PIC 9(8).
|
|
01 LS-AMOUNT PIC 9(7)V99.
|
|
|
|
PROCEDURE DIVISION USING LS-CUST-ID LS-AMOUNT.
|
|
MAIN-PARAGRAPH.
|
|
PERFORM WRITE-LOG
|
|
PERFORM VARYING-TEST
|
|
PERFORM UNTIL-TEST
|
|
GOBACK.
|
|
|
|
WRITE-LOG.
|
|
STRING 'Customer ' LS-CUST-ID ' amount ' LS-AMOUNT
|
|
DELIMITED BY SIZE INTO WS-LOG-MESSAGE
|
|
DISPLAY WS-LOG-MESSAGE.
|
|
|
|
* PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
|
|
VARYING-TEST.
|
|
PERFORM VARYING WS-IDX FROM 1 BY 1
|
|
UNTIL WS-IDX > 10
|
|
DISPLAY 'COUNT ' WS-IDX
|
|
END-PERFORM.
|
|
|
|
* PERFORM UNTIL EOF-FLAG = 1
|
|
UNTIL-TEST.
|
|
PERFORM UNTIL WS-EOF-FLAG = 1
|
|
DISPLAY 'LOOPING'
|
|
END-PERFORM.
|
|
|
|
* CALL with OMITTED (3 args: WS-PARAM-A, OMITTED, WS-PARAM-C)
|
|
CALL-OMITTED-TEST.
|
|
CALL 'PROCESS' USING WS-PARAM-A OMITTED WS-PARAM-C.
|
|
|
|
* Nested IF with CALL inside
|
|
NESTED-IF-CALL.
|
|
IF WS-FLAG = 1
|
|
IF WS-INDEX > 5
|
|
CALL 'DEEPPROC'
|
|
ELSE
|
|
CALL 'SHALLOW'
|
|
END-IF
|
|
END-IF.
|
|
|
|
* GO TO DEPENDING ON with 3 targets
|
|
GOTO-DEPENDING.
|
|
GO TO PARA-ONE PARA-TWO PARA-THREE
|
|
DEPENDING ON WS-INDEX.
|
|
|
|
PARA-ONE.
|
|
DISPLAY 'ONE'.
|
|
|
|
PARA-TWO.
|
|
DISPLAY 'TWO'.
|
|
|
|
PARA-THREE.
|
|
DISPLAY 'THREE'.
|
|
|
|
ENTRY "AUDITLOG-BATCH" USING LS-CUST-ID.
|
|
DISPLAY 'Batch audit for ' LS-CUST-ID
|
|
GOBACK.
|