def visitExp9(self, ctx: MCParser.Exp9Context): if ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.FLOATLIT(): return FloatLiteral(float(ctx.FLOATLIT().getText())) elif ctx.BOOLLIT(): return BooleanLiteral(tobool(ctx.BOOLLIT().getText())) elif ctx.STRINGLIT(): return StringLiteral(tobool(ctx.STRINGLIT().getText())) elif ctx.ID(): return Id(ctx.ID().getText()) else: return self.visit(ctx.getChild(0))
def visitExp9(self, ctx: MCParser.Exp9Context): #exp9: LB exp RB | (INTLIT | FLOATLIT | BOOLEANLIT | STRINGLIT | ID | invokeExp) ; if ctx.getChildCount() == 3: return self.visit(ctx.exp()) else: if ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.FLOATLIT(): return FloatLiteral(float(ctx.FLOATLIT().getText())) elif ctx.BOOLEANLIT(): return BooleanLiteral(bool("1")) if ctx.BOOLEANLIT().getText( ) == "true" else BooleanLiteral(bool("")) elif ctx.STRINGLIT(): return StringLiteral(ctx.STRINGLIT().getText()) elif ctx.ID(): return Id(ctx.ID().getText()) else: return self.visit(ctx.invokeExp())