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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions