Daniel Hofstetter
8e729a984a
clippy: fix elidable_lifetime_names lint
...
https://rust-lang.github.io/rust-clippy/master/index.html#elidable_lifetime_names
2026-07-09 19:38:57 +02:00
Daniel Hofstetter
2457370038
clippy: fix use_self lint
...
https://rust-lang.github.io/rust-clippy/master/index.html#use_self
2026-07-09 19:38:57 +02:00
Guillem L. Jara
3c2e619656
feat: start integrating CLI
2026-07-08 11:24:34 +02:00
Guillem L. Jara
b1de02386e
chore(parser): simplify workspace
2026-07-08 10:38:27 +02:00
yushuoqi
56449a17ad
parser: add proptest round-trip fuzzing for AST pretty-printing
...
Add a proptest-based alternative to libFuzzer for aarch64-friendly
round-trip testing: generate random programs, materialize them into
ASTs, pretty-print via Display, re-parse, and compare s-expr
signatures.
Includes a hand-written AST generator, smoke tests, and proptest
regression seeds.
Closes #41
2026-07-08 10:19:55 +02:00
Guillem L. Jara
4f591cc210
chore(parser): DRY clean-up
2026-07-08 08:19:04 +02:00
Guillem L. Jara
656cf70140
fix(parser): fix random commas in output
2026-07-08 08:19:03 +02:00
Guillem L. Jara
cb35cd31bb
fix(parser): flatten nested if stmnts in pretty-printing
2026-07-08 08:19:03 +02:00
Guillem L. Jara
d23a7de610
chore(parser): add assignment tests
2026-07-08 08:19:03 +02:00
Guillem L. Jara
678e4f3313
fix(parser): do not accept parenthesized lvalues
2026-07-08 08:19:02 +02:00
Guillem L. Jara
33e75f40df
chore(parser): remove v branch of macro
2026-07-07 21:12:17 +02:00
yushuoqi
60c5698995
parser: track @namespace context in AST pretty-printing
...
Identifiers are fully qualified at parse time, but Display was emitting
awk:: prefixes and dropping @namespace directives. Pretty-print now tracks
the active namespace, omits redundant qualifiers, restores @namespace for
non-awk scopes, and fixes Delete debug formatting to use Debug for indices.
Closed : #39
2026-07-06 19:37:35 +02:00
Guillem L. Jara
af6853de74
fix(parser): lowercase commands in Display
2026-07-06 19:32:04 +02:00
Guillem L. Jara
e8f7d4257f
chore(parser): remove boilerplate with derive_more
2026-07-06 19:16:44 +02:00
Guillem L. Jara
b800a9d7dd
fix(parser): properly pretty-print, respect namespaces
...
The encoding shenanigans were fun while they lasted :'(. Rest in peace my little spaghetto.
2026-07-06 19:16:44 +02:00
Guillem L. Jara
5a8d1dc9f4
chore(parser): add inc/dec division test
2026-07-06 07:56:54 +02:00
Guillem L. Jara
beca5f1700
fix(lexer): properly delimit inc/dec on ERE
2026-07-06 07:56:23 +02:00
Guillem L. Jara
ad8402eca7
chore(parser): add tests for empty and delimited bodies
2026-07-03 21:01:15 +02:00
Guillem L. Jara
8a5fe828fb
fix(parser): accept empty-bodied statements; enforce delimiter
2026-07-03 20:52:18 +02:00
Guillem L. Jara
78128ac806
chore(parser): use thiserror sugar for lexing errors
2026-07-03 20:30:49 +02:00
Guillem L. Jara
e94f337acc
chore(parser): cover parse_body edge case on tests
2026-07-03 20:22:45 +02:00
Guillem L. Jara
a3017e5388
fix(parser): handle edge case on parse_body; clean-up
2026-07-03 20:22:12 +02:00
yushuoqi
4e659781cb
parser: enforce statement end after commands
...
Reject bare `{` after commands instead of treating it as nested brace depth.
Fixes #36
2026-07-03 17:22:01 +02:00
Guillem L. Jara
60489914e5
chore(parser): improve relaxed assignment tests
2026-06-29 18:47:12 +02:00
Guillem L. Jara
bee4e5c65b
parser: enforce min assignment BP override.
2026-06-29 18:40:57 +02:00