def visitExp6(self, ctx:MPParser.Exp6Context): if ctx.getChildCount() == 3: return self.visit(ctx.exp0()) elif ctx.literals(): return self.visit(ctx.literals()) elif ctx.identifier(): return self.visit(ctx.identifier()) elif ctx.invocationExpression(): return self.visit(ctx.invocationExpression()) else: return self.visit(ctx.indexExpression())
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()))
def visitExp6(self, ctx: MPParser.Exp6Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp7()) else: return self.visit(ctx.exp())
def visitExp6(self, ctx: MPParser.Exp6Context): '''exp6: LB exp RB | operand;''' return self.visit( ctx.exp()) if ctx.getChildCount() == 3 else self.visit( ctx.operand())