opy-rs 0.1.3

Standalone OverPy-compatible .opy implementation: lexer, CST/parser, preprocessing, semantic resolution, and Opy HIR lowering (Workshop-independent).
Documentation

The standalone OverPy-compatible .opy implementation (opy-rs).

Owns the OPY source-language surface of the opy-rs repository: a lexer, an indentation-aware CST/parser with structured diagnostics and recovery, token-level preprocessing (includes and #!define macros), semantic resolution, and lowering into the opy-rs-owned Opy HIR contract ([hir::Program]). Everything from source through the Opy HIR semantic model is Workshop-independent: source analysis never depends on workshop-rs, OverPy, or Node, and the integration boundary toward workshop-rs is documented rather than implemented here.

Pipeline: [lexer::lex] → [preprocess::preprocess] → [parser::parse] → [lower::lower] → Opy HIR ([hir]).

OverPy-compatible __script__("…") macros execute at compile time through the bounded embedded runtime ([opy_macro_js]): script macros expand during preprocessing with the reference's argument-injection ABI, and resource limits mirror the pinned reference constants (opy_macro_js::Limits::default()). Script-macro expansion is compile-time behavior and is source-supported.

#!postCompileHook is recognized, parsed, validated, and recorded only (see [preprocess] and [CompileOutcome::post_compile_hook]): the The source implementation never executes the hook. Real hook execution receives the final Workshop text produced by lowering and is lowering-dependent (workshop-rs emission, issue #8); source analysis never fabricates a Workshop payload.

This crate owns the OverPy source-language implementation. Workshop→OPY reconstruction and the differential harness are not part of this crate (see the opy-rs roadmap).