def visitFor_stmt(self, ctx:BKITParser.For_stmtContext): iter_var = Id(ctx.ID().getText()) expr1 = self.visitExpr(ctx.expr(0)) expr2 = self.visitExpr(ctx.expr(1)) expr3 = self.visitExpr(ctx.expr(2)) loop = tuple(self.visitStmt_list(ctx.stmt_list())) return For(iter_var, expr1, expr2, expr3, loop)
def visitFor_stmt(self, ctx:BKITParser.For_stmtContext): """ idx1: Id expr1:Expr expr2:Expr expr3:Expr loop: Tuple[List[VarDecl],List[Stmt]] """ getID = Id(ctx.ID().getText()) getExpr1 = self.visitExp(ctx.exp()) getExpr2 = self.visitConditionExpr(ctx.conditionExpr()) getExpr3 = self.visitUpdateExpr(ctx.updateExpr()) tempBody = [] temp_var = [] temp_stmt = [] # for x in ctx.body(): # temp = self.visitBody(x) # if temp[0] == 0: # if isinstance(temp[1], list): # temp_var.extend(temp[1]) # else: # temp_var.append(temp[1]) # else: # if isinstance(temp[1], list): # temp_stmt.extend(temp[1]) # else: # temp_stmt.append(temp[1]) getLstBody = self.visitBody(ctx.body()) tempBody.append(getLstBody[0]) tempBody.append(getLstBody[1]) getLoop = (tempBody[0], tempBody[1]) return For(getID, getExpr1, getExpr2, getExpr3, getLoop)
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): # return For object return For(Id(ctx.ID().getText()), ctx.expression(0).accept(self), ctx.expression(1).accept(self), ctx.expression(2).accept(self), ctx.statement_list().accept(self))
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): param0 = Id(ctx.ID().getText()) param1 = ctx.expr(0).accept(self) param2 = ctx.expr(1).accept(self) param3 = ctx.expr(2).accept(self) param4 = ctx.stmtlst().accept(self) if ctx.stmtlst() else ([], []) return For(param0, param1, param2, param3, param4)
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): idx = Id(ctx.ID().getText()) exp1 = self.visit(ctx.exp()) exp2 = self.visit(ctx.exp_bool()) exp3 = self.visit(ctx.update_exp()) loop = self.visit(ctx.stmts_list()) if ctx.stmts_list() else ([], []) return For(idx, exp1, exp2, exp3, loop)
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): idx1 = (ctx.scalar().accept(self))[0] expr1 = ctx.expression(0).accept(self) expr2 = ctx.expression(1).accept(self) expr3 = ctx.expression(2).accept(self) vardecl = [] stmt = [] if ctx.variable_declaration_stmt(): for x in ctx.variable_declaration_stmt(): vardecl.extend(x.accept(self)) if ctx.statement_list(): for x in ctx.statement_list(): stmt.append(x.accept(self)) loop = (vardecl, stmt) return For(idx1, expr1, expr2, expr3, loop)
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): return ctx.for_statement().accept(self)
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): return For(Id(ctx.ID().getText()), self.visit(ctx.getChild(4)), self.visit(ctx.getChild(6)), self.visit(ctx.getChild(8)), self.visit(ctx.list_stmts()))
def visitFor_stmt(self, ctx: BKITParser.For_stmtContext): abc = self.visit(ctx.stmt2()) return For(Id(ctx.ID().getText()), self.visit(ctx.exp(0)), self.visit(ctx.exp(1)), self.visit(ctx.exp(2)), (abc[0], abc[1]))