feat(opy): complete audited statement grammar surface - #146
Conversation
Add source HIR nodes and diagnostics for del, min/max assignments, continue, goto, and labels while keeping canonical WIR gaps explicit. Fixes #141
Teakowa
left a comment
There was a problem hiding this comment.
Major — crates/opy-rs/src/parser.rs (parse_goto)
The pinned OverPy parser treats goto RULE_START as a distinct accepted form that maps to the rule-loop operation; this branch currently parses it as an ordinary label. That leaves #141's audited grammar surface incomplete and gives the source HIR the wrong meaning for a supported form. Handle RULE_START distinctly and add executable coverage for it; canonical WIR lowering can remain an explicit integration boundary.
Major — crates/opy-cli/tests/cli.rs:270
The two new syntax entries make the filtered category count 16, but this test still hard-codes 14, so the required Rust CI jobs fail and the downstream compatibility gates are skipped. Remove the fixed category-cardinality assertion and verify the filtering contract without pinning a dynamic feature count.
Keep OverPy's RULE_START form distinct from named labels in source HIR and make the support filter test follow its dynamic result. Refs #141
Summary
del,min=/max=,continue,goto, labels, and dynamicloc+targetsVerification
cargo fmt --all -- --checkcargo clippy --locked --workspace --all-targets --all-features -- -D warningscargo test --locked -p opy-rs --lib --testspython3 -m unittest discover compatibility/testscargo build --locked -p opy-cli --features compatibilitypython3 compatibility/run_native.py --binary target/debug/opy-cli --semantic-binary target/debug/opy-compatFixes #141