sclass ai_Reconstructed { WeightedProduction production; AI_BottomUpParser1.Word a, b; // b may be null if it's a subclassing *(WeightedProduction *production, AI_BottomUpParser1.Word *a, AI_BottomUpParser1.Word *b) {} *(WeightedProduction *production, AI_BottomUpParser1.Word *a) {} toString { ret sfu(production) + " - " + a.text() + (b == null ? "" : " + " + b.text()); } }