Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Void Visit(IfStatement s, CompilerContext env)
- {
- s.condition.Accept(compileExpr, env);
- var brfPosition = env.Allocate();
- s.consequent.Accept(this, env);
- var braPosition = env.Allocate();
- var elsePosition = env.Line();
- s.consequent.Accept(this, env);
- var fiPosition = env.Line();
- env.EmitAt(brfPosition, new Instruction(Instruction.OPCODE.BRF, elsePosition));
- env.EmitAt(braPosition, new Instruction(Instruction.OPCODE.BRA, fiPosition));
- return Void.Instance;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement