61 Commits

Author SHA1 Message Date
Guillem L. Jara 7ff83f9e7b chore(parser): add test infra 2026-05-13 16:21:56 +02:00
Guillem L. Jara 9f663015ac parser: properly accept namespaces 2026-05-12 23:06:03 +02:00
Guillem L. Jara ba9c443369 parser, lexer: indirect call support
Required a small refactoring.
2026-05-12 22:38:57 +02:00
Guillem L. Jara 8993ad2fca parser: add comments 2026-05-12 19:01:51 +02:00
Guillem L. Jara 1b165d2749 parser, lexer: typed regexes support 2026-05-12 17:39:11 +02:00
Guillem L. Jara 746f3d5eef parser: tighten error reporting 2026-05-07 18:00:56 +02:00
Guillem L. Jara b24337910b lexer: POSIX and GNU compatibility modes
Also improves ignored newlines on specific tokens.
2026-05-07 16:51:05 +02:00
Guillem L. Jara 1c859fb126 chore: add file headings 2026-05-07 15:03:33 +02:00
Guillem L. Jara 35cf75424c tests: fix CI 2026-05-07 14:44:22 +02:00
Guillem L. Jara c22de2681e lexer: arena integration for slices 2026-05-07 14:31:38 +02:00
Guillem L. Jara aa9e1ad203 parser: get formatting to match gawk 5.4.0
I was previously running into bugs cuz I was on the LTS lol.
2026-05-07 13:18:08 +02:00
Guillem L. Jara 886d78366a parser: redirection support 2026-05-06 19:41:51 +02:00
Guillem L. Jara 7b3ea1b91c parser: refactor statements; delete support 2026-05-06 16:54:06 +02:00
Guillem L. Jara 48c2c6abc4 parser: refactor lvalues & ast ownership; add getline pipes 2026-05-06 04:29:29 +02:00
Guillem L. Jara 82500f7da3 parser: refactor pratt routine 2026-05-05 18:21:41 +02:00
Guillem L. Jara e6440123ee Revert "parser, lexer: solve function call ambiguity"
This reverts commit 5213c1e6fb.
2026-05-04 18:46:24 +02:00
Guillem L. Jara 5213c1e6fb parser, lexer: solve function call ambiguity
I really wanted not to do it this way, but it causes an ambiguity with `getline foo(x)` and GNU seems to have bailed on this too.
2026-05-04 18:45:12 +02:00
Guillem L. Jara d55ad9a1f2 parser: command refactor; prefix getline support 2026-05-04 15:40:45 +02:00
Guillem L. Jara dcda81b59a parser: add missing binops 2026-05-04 13:06:02 +02:00
Guillem L. Jara 1d72ca9681 parser: consider ( for expr start
Dumb, ik.
2026-05-04 12:56:01 +02:00
Guillem L. Jara c44f0d5bb8 parser: consume newline after signature 2026-05-04 12:54:02 +02:00
Guillem L. Jara 06b6b455cf parser: function idempotency 2026-05-03 21:12:45 +02:00
Guillem L. Jara 08b4ead128 parser: idempotency for fuzzing, --pretty-print 2026-05-03 04:12:18 +02:00
Guillem L. Jara 9670302115 parser: forbid unsafe code
This way, can avoid relying on a sanitizer when fuzzing. For now, we only allow unsafe code in a few specific cases in the lexer.
2026-05-02 15:34:32 +02:00
Guillem L. Jara 9ce8327c0c fix CI 2026-05-02 00:27:31 +02:00