def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp6()) exp5 = self.visit(ctx.exp5()) exp = self.visit(ctx.exp()) return ArrayCell(exp5, exp)
def visitExp5(self,ctx:MPParser.Exp5Context): if ctx.IDENTIFIER() != None: return Id(ctx.IDENTIFIER().getText()) elif ctx.literal() != None: return self.visit(ctx.literal()) elif ctx.func_call() != None: return self.visit(ctx.func_call()) elif ctx.exp() != None: return self.visit(ctx.exp()) else: return self.visit(ctx.index_express())
def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.literals(): return self.visit(ctx.literals()) elif ctx.arrayvar(): return self.visit(ctx.arrayvar()) elif ctx.callnosemi(): return self.visit(ctx.callnosemi()) elif ctx.ID(): return Id(ctx.ID().getText())
def visitExp5(self, ctx: MPParser.Exp5Context): if (ctx.NOT()): return UnaryOp(ctx.NOT().getText(), self.visit(ctx.exp5())) elif (ctx.SUBNE()): return UnaryOp("-", self.visit(ctx.exp5())) else: return self.visit(ctx.exp6())
def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.getChildCount() == 1: return self.visitChildren(ctx) return self.visit(ctx.exp())
def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp6()) else: return ArrayCell(self.visit(ctx.exp6()), self.visit(ctx.exp(0)))
def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp6()) else: return UnaryOp(ctx.getChild(0).getText(), self.visit(ctx.exp5()))
def visitExp5(self, ctx:MPParser.Exp5Context): if ctx.getChildCount() == 3: return self.visit(ctx.expr()) elif ctx.ID(): return Id(ctx.ID().getText()) elif ctx.invoke(): return self.visit(ctx.invoke()) elif ctx.indexExpr(): return self.visit(ctx.indexExpr()) elif ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.REALLIT(): return FloatLiteral(float(ctx.REALLIT().getText())) elif ctx.BOOLLIT(): return BooleanLiteral(tobool(ctx.BOOLLIT().getText())) elif ctx.STRINGLIT(): return StringLiteral(ctx.STRINGLIT().getText())
def visitExp5(self, ctx:MPParser.Exp5Context): if ctx.LSB(): return ArrayCell(self.visit(ctx.exp5()), self.visit(ctx.expression())) else: return self.visit(ctx.exp6())
def visitExp5(self, ctx: MPParser.Exp5Context): if ctx.literal(): return self.visit(ctx.literal()) elif ctx.ID(): return Id(ctx.ID().getText()) elif ctx.funcallExp(): return self.visit(ctx.funcallExp()) elif ctx.indexExpression(): return self.visit( ctx.indexExpression()) # self.visit(ctx.indexExpression()) elif ctx.LB() and ctx.RB(): return self.visit(ctx.exp())
def visitExp6(self, ctx: MPParser.Exp5Context): if ctx.op(): return self.visit(ctx.op()) else: return self.visit(ctx.expr())
def visitExp5(self, ctx: MPParser.Exp5Context): '''exp5: exp5 LSB exp RSB | exp6;''' return ArrayCell(self.visit(ctx.exp5()), self.visit( ctx.exp())) if ctx.getChildCount() == 4 else self.visit(ctx.exp6())