private void Generate(injectionParser.WhileContext whileContext) { var whileInstruction = new WhileInstruction(whileContext); int whileAddress = currentAddress; AddInstruction(whileInstruction); var statements = whileContext.codeBlock()?.statement() ?? Enumerable.Empty <injectionParser.StatementContext>(); foreach (var statement in statements) { VisitStatement(statement); } AddInstruction(new JumpInstruction(whileAddress)); whileInstruction.WendAddress = currentAddress; }
public WhileInstruction(injectionParser.WhileContext whileSyntax) { WhileSyntax = whileSyntax; Statement = (injectionParser.StatementContext)whileSyntax.Parent; }