Commit 60d7be3
Migrate PEx expressions to the shared expression-visitor base (#953)
PExCodeGenerator now extends ExpressionGenerator<CompilationContext>;
its WriteExpr switch is replaced by the 31 Write*Expr overrides (bodies
moved verbatim). PEx's Nondet/FairNondet shared a switch arm, now routed
through a small WriteRandomBool helper to keep the emission identical.
With both PChecker and PEx on the base, adding a new IPExpr node forces
both to handle it at compile time.
Verified: CompilerCore builds clean; PEx-generated Java for tutorials
1-6 is byte-for-byte identical to master (EspressoMachine fails PEx
codegen identically on both, due to the pre-existing 'receive in loop'
limitation, unrelated to this change).
Co-authored-by: Claude <noreply@anthropic.com>1 parent 9aee1da commit 60d7be3
1 file changed
Lines changed: 316 additions & 273 deletions
0 commit comments