Skip to content

Add support for gawk -M / --bignum mode #456

@bertysentry

Description

@bertysentry

The current gawk compatibility harness records -M as unsupported and skips the corresponding bignum / MPFR-oriented gawk fixtures.

Current coverage gap:

  • src/it/java/io/jawk/GawkMaketestsParser.java treats -M as an unsupported flag today.
  • src/it/resources/gawk/skips.properties currently skips mpfrbigint, mpfrbigint2, mpfrcase, mpfrcase2, mpfrfield, mpfrnegzero, mpfrnegzero2, mpfrnonum, mpfrnr, mpfrrem, mpfrrndeval, mpfrstrtonum, and mpgforcenum because gawk's -M bignum mode is not implemented by Jawk.
  • The vendored gawk manifest uses -M / --bignum and switches to $@-mpfr.ok expected files when bignum mode is enabled.

We should add a real bignum mode to Jawk so those cases can run instead of being skipped.

Acceptance criteria:

  • Jawk accepts both -M and --bignum on the CLI.
  • Arithmetic, conversion, comparison, and formatting semantics are compatible enough to cover the representative vendored fixtures above.
  • The compatibility harness can unskip those mpfr* cases and compare against the correct expected output variant.
  • The implementation is covered by focused tests plus the existing gawk compatibility suite.

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