Guillem L. Jara 1d72ca9681 parser: consider ( for expr start
Dumb, ik.
2026-05-04 12:56:01 +02:00
2026-05-04 12:56:01 +02:00
2026-04-29 22:16:25 +02:00
2026-05-02 14:31:12 +02:00
2026-05-02 14:31:12 +02:00
2026-04-29 22:16:25 +02:00
2026-04-29 22:16:25 +02:00
2026-04-29 22:16:25 +02:00
2026-05-03 13:43:45 +02:00

uutils AWK

This is a human, WIP, and clean implementation of an AWK interpreter, written in Rust and compatible with GNU's AWK (gawk) bug-for-bug. Expected to be production-ready before Ubuntu 26.10. Made with love.

State of the Repo

Lexer

Pretty much done; lacking a POSIX-compatibility mode (trivial) and arena integration (trivial).

Parser

Also mostly done; some bullet points:

  • Rough edges around error handling on expected tokens.
  • Preprocessor is TBD.
  • The Pratt routine is a bit spaghetti and should be refactored (trivial).
  • Missing getline expressions and command redirections (trivial).
  • We are working on test coverage and fuzzing.
  • It would be nice to reduce LOC; maybe we get rid of S-expr debug output.

Interpreter

TBD; work on it will be started once we get good testing on the parser. Ideally, the design should be a bytecode machine or a JIT. Expect this to be a fast-paced repo.

Contributing

See this.

License

This is licensed under either the MIT License or the Apache License v2.0. See the LICENSE-MIT and LICENSE-APACHE files for details.

S
Description
No description provided
Readme 362 KiB
Languages
Rust 100%