Skip to content

Commit 60d7be3

Browse files
ankushdesaiclaude
andauthored
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

File tree

0 commit comments

Comments
 (0)