Skip to content

feat(awk): implement phase 1 core interpreter#244

Open
matt-dz wants to merge 22 commits into
codex/awk-bwk-testsfrom
codex/awk-phase-1
Open

feat(awk): implement phase 1 core interpreter#244
matt-dz wants to merge 22 commits into
codex/awk-bwk-testsfrom
codex/awk-phase-1

Conversation

@matt-dz
Copy link
Copy Markdown
Collaborator

@matt-dz matt-dz commented May 8, 2026

Summary

Implements the first practical awk slice on top of the rewritten harness, adding the registered awk builtin with core parsing and evaluation. The phase covers BEGIN/END, record and field reads, simple separators, regex/comparison patterns, arithmetic and string behavior, and the GNU awk oracle wiring needed to keep the implementation honest.

  • Adds the builtins/awk implementation and registers the command.
  • Supports core printing, fields, patterns, assignments, arithmetic, and string concatenation.
  • Enables the first 107 rewritten AWK scenarios plus GNU awk oracle shell scenarios.
  • Adds pinned GNU awk CI jobs and awk-focused fuzzing.

Validation

  • make test_against_gawk
  • make test_awk_rewritten
  • tools/awk-harness/run.sh fuzz

@matt-dz matt-dz changed the base branch from main to codex/awk-bwk-tests May 8, 2026 15:18
@matt-dz matt-dz changed the title [codex] implement awk phase 1 with rewritten harness awk: implement phase 1 core interpreter May 11, 2026
@matt-dz matt-dz changed the title awk: implement phase 1 core interpreter feat(awk): implement phase 1 core interpreter May 11, 2026
@matt-dz matt-dz force-pushed the codex/awk-bwk-tests branch from 1e3539e to 985be3d Compare May 11, 2026 15:46
@matt-dz matt-dz force-pushed the codex/awk-phase-1 branch from 1fb92f6 to 576e671 Compare May 11, 2026 15:46
@matt-dz matt-dz marked this pull request as ready for review May 11, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant