Skip to content

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

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.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions