Repository navigation
det: JSON GENERATE NAME OF the source IS OMITTED (Part of #7524) - #7938
squid-protocol wants to merge 3 commits into
Conversation
…object (Part of #7524) IBM's NAME phrase: OMITTED generates an anonymous JSON object whose top-level parent name is not written, and identifier-4 must be identifier-2. Translated as the source group's {members} alone (oracle-unbacked, register X76); OMITTED on any other item stays refused by name; JSON PARSE keeps refusing it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
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. |
…843Z # Conflicts: # docs/language_status/cobolrt_api.json
|
CI shepherd: the head of this PR (63dfb30) is not the one a maintainer labelled |
|
No description provided. |
1 similar comment
|
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>
|
CI shepherd: the head of this PR (47ff972) is not the one a maintainer labelled |
|
CI shepherd: the head of this PR (47ff972) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
|
No description provided. |
Summary
JSON GENERATE
NAME OF <source> IS OMITTEDis translated from IBM's definition (Enterprise COBOL 6.3 LR, JSON GENERATE, NAME phrase: OMITTED "generate[s] an anonymous JSON object, whose top-level parent name is not generated"; identifier-4 must reference identifier-2). The text is the source group's{members}alone instead of{"SRC":{members}}. Oracle-unbacked (GnuCOBOL has no JSON statement): register X76 records it as ASSUMED, no L2+ claim. IBM shows no example text, so the reading is stated as an assumption there.stmt.py: the NAME phrase takesIS OMITTEDfor GENERATE only (JSON PARSE still refuses it).gen.py(json_tree): OMITTED on the source wraps the tree inanonymous(...); OMITTED on any other item is refused by name; the last NAME specification of the source wins (IBM).JsonGenerate.java:anonymous(Node);tryGeneratewrites the root's value alone for it.cobolrt_api.json/cobolrt_rules.jsonupdated.Checklist: partial [c:bb8e1760] -- CONVERTING, floats, elementary source stay refused, JSON-STATUS, NAME OMITTED on a member stay refused (JSON-CODE after an exception landed in #7930)
Class / Sibling gaps
Class: JSON GENERATE phrases named in the checklist item that were still refused. Fixed here: NAME OMITTED.
Sibling gaps (no burned-estate program uses JSON GENERATE/PARSE, so all are frontier): JSON PARSE CONVERTING and tables; COMP-1/COMP-2 floats; elementary source (IBM wrapper not stated); source that is a table; ODO table inside another table; non-ASCII output.
Cross-repo
None.
Gates
pytest test_det_json_generate / test_det_json_parse / test_det_source_4462 / test_cobolrt_api / test_cobolrt_rules: pass.
audit_check.py: all clear.cobolrt_api.py --check: holds. Overlap: #7930 edits gen.py, X76 and the JSON tests; merged main in, expect a trivial rebase.Lessons for agents
cobolrt_api.py generate, visibility flipped to public by hand when the emitter uses it (thengenerateagain for the summary counts), and an entry in the rule'splumbinglist incobolrt_rules.json.🤖 Generated with Claude Code