Skip to content

COBOL record VALUE capture ignores the plural VALUES keyword (88-level lists) #3943

Closed

Description

@squid-protocol

Found while fixing #3911 (#3940): the engine's VALUE regex in mainframe_boundary._cobol_records matches VALUE but not VALUES. VALUES is the plural COBOL allows for condition-names (88 VALID-CODE VALUES 1, 2, 3., VALUES ARE 'A' THRU 'F'), so such items record no value at all.

Fix: accept VALUE / VALUES, with optional IS / ARE, wherever the value is captured. Keep the #3911 decimal-comma rule: under DECIMAL-POINT IS COMMA, a comma between digits stays in the literal, while comma-space separates list entries. Golden masters will likely move for corpus programs with VALUES 88-levels; re-bless deliberately and list the changes.

Test: 88 X VALUES 1, 2, 3., 88 Y VALUES ARE 'A' THRU 'F'., the singular forms unchanged, and a decimal-comma 88 Z VALUES 1,5 2,5..

🤖 Generated with Claude Code

Activity

  1. added a commit that references this issue on Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions