示例#1
0
    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);
    }