public override void Generate(int begin, int after) { int Label = EmitterNode.NewLabel(); _expression.Jumping(0, after); _node.EmitLabel(Label); _statement.Generate(Label, after); }
public override void Generate(int begin, int after) { int Label1 = EmitterNode.NewLabel(); int Label2 = EmitterNode.NewLabel(); _expression.Jumping(0, Label2); _node.EmitLabel(Label1); _statement1.Generate(Label1, after); _node.Emit($"goto L{after}"); _node.EmitLabel(Label2); _statement2.Generate(Label2, after); }