def visitExp6(self, ctx: MPParser.Exp6Context): if ctx.literals(): return self.visit(ctx.literals()) elif ctx.ID(): return Id(ctx.ID().getText()) elif ctx.call_exp(): return self.visit(ctx.call_exp()) # elif ctx.index_exp(): # return self.visit(ctx.index_exp()) else: return self.visit(ctx.exp())
def visitExp6(self, ctx: MPParser.Exp6Context): if ctx.getChildCount() == 1: if ctx.ID(): return Id(ctx.ID().getText()) elif ctx.INTLIT(): return IntLiteral(ctx.INTLIT().getText()) elif ctx.BOOLEANLIT(): boolit = ctx.BOOLEANLIT().getText().lower() if boolit == "true": return BooleanLiteral(True) else: return BooleanLiteral(False) elif ctx.REALLIT(): return FloatLiteral(float(ctx.REALLIT().getText())) elif ctx.STRINGLIT(): return StringLiteral(ctx.STRINGLIT().getText()) elif ctx.getChildCount() == 3: return self.visit(ctx.exp()) else: return CallExpr(Id(ctx.ID().getText()), self.visit(ctx.invocationexp()))