Repository navigation
det: JSON GENERATE takes OCCURS DEPENDING ON tables (Part of #7524) - #7932
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
No description provided. |
|
This PR conflicts with main, so no checks ran. Merge origin/main into it and regenerate generated files with their tools (never hand-merge them), then push. |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…art of #7524) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
CI shepherd: the head of this PR (95ced4c) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
|
No description provided. |
|
No description provided. |
|
No description provided. |
|
No description provided. |
Summary
JSON GENERATE now translates a source group holding
OCCURS ... DEPENDING ONtables: the table is a JSON array of as many elements as the ODO object holds at run time,[]for none (IBM Enterprise COBOL 6.3 LR, JSON GENERATE: SUPPRESS examples and Operation page).JsonGenerate.table(name, count, low, odo, elements...)is the runtime half;gen.py json_treeemits it. Register X76 updated (ASSUMED, oracle-unbacked: no L2+ claim). No burned program uses JSON; fixture tests only.Class / Sibling gaps
Class: source shapes
json_tree(gen.py) refuses by name for JSON GENERATE. Handled in this PR: OCCURS DEPENDING ON tables (group and elementary, count 0 / mid / max), each with a test. Same mechanism but left refused because IBM's pages do not state them: an ODO count outside the clause's bounds (runtimeHole, undefined by IBM, tested) and an ODO table inside another table (refused by name, tested).Sibling gaps (none needed by a burned program, since no burned program uses JSON):
Remaining slices
The siblings above, in that order; merge origin/main before merge (overlap with #7905 / #7930 in
gen.py,X76.md, tests).Checklist: partial [c:bb8e1760] -- NAME OMITTED, elementary source, floats left; the item's named phrases are covered once #7905 and #7930 merge
Facts checked: IBM LR pages (JSON GENERATE, Operation of JSON GENERATE) state n elements for ODO value n and
[]for zero; out-of-range and nesting are not stated there. Gates: det_port check 270/270 unchanged; audit_check clear; pr_gates --fast: only test_cobolrt_rules failed, fixed (plumbing entry) and re-passing; 146 JSON tests pass.Lessons for agents
pythonis not on PATH in a worker shell: export the selfscan venv bin in every Bash call. A new public static runtime method needs aplumbingentry indocs/language_status/cobolrt_rules.json.🤖 Generated with Claude Code