Skip to content

Align array-vs-scalar semantics with gawk #453

@bertysentry

Description

@bertysentry

The latest mvn verify run for GawkCompatibilityIT shows a concentrated group of failures where Jawk still disagrees with gawk on array-versus-scalar behavior.

Observed impact:

  • 18 failing Gawk compatibility cases in the latest run
  • Representative cases: aadelete2, arrayparm, arryref3, arryref4, arryref5, aryprm1, aryprm2, aryprm3, aryprm4, aryprm5, aryprm6, aryprm7, aryscl, mdim6, prmarscl, scalar, sclforin, sclifin
  • Current failure modes include diagnostics such as:
    • cannot assign anything to an unindexed associative array
    • Cannot evaluate an unindexed array
    • Cannot use IDAst ... as a scalar

This is now more visible because arrays-of-arrays support landed in #438, but several gawk behaviors around passing, referencing, deleting, iterating, and coercing subarrays still do not line up.

Acceptance criteria:

  • the representative cases above pass in GawkCompatibilityIT
  • array parameters and subarray references follow gawk's scalar-versus-array rules
  • using an array in scalar context, or a scalar as an array, produces gawk-compatible behavior and diagnostics where feasible
  • delete, for (k in ...), and parameter passing behave correctly for nested array references, not only top-level arrays

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions