Skip to content

Support gawk @-syntax used by the compatibility suite #452

@bertysentry

Description

@bertysentry

The latest mvn verify run for GawkCompatibilityIT shows a large compatibility gap around gawk's @-prefixed syntax.

Observed impact:

  • 29 failing Gawk compatibility cases in the latest run
  • Representative cases: include,
    sbad,
    sbad2,
    sforloop,
    sfuncrecurse,
    sindirect1, indirectbuiltin, indirectcall2, indirectcall3, typedregex2, typedregex3, typedregex5, typedregex6, typeof1, typeof3, regexsub, functab4, functab5, ordchr, time
  • Current failure mode is mostly LexerException: Invalid character (64): @

This points to missing frontend support for the core gawk @ forms used by the suite, including:

  • @include
  • @namespace
  • indirect function or builtin calls such as @f(...)
  • strongly typed regexp literals such as @/.../

Acceptance criteria:

  • Jawk no longer rejects @ at lexing time for the supported gawk forms
  • the representative compatibility cases above compile and execute through the IT harness
  • unsupported @ forms, if any remain, fail with a specific and intentional diagnostic instead of a generic lexer error

Note: @ syntax is not POSIX compliant and therefore should be disabled is POSIX mode is requested in AwkRunBuilder. This is an option for AwkParser.

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