def visitOperand(self, ctx: MPParser.OperandContext): if ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.REALIT(): return FloatLiteral(float(ctx.REALIT().getText())) elif ctx.STRLIT(): return StringLiteral(ctx.STRLIT().getText()) elif ctx.BOOLIT(): return BooleanLiteral(True if ( ctx.BOOLIT().getText().lower()) == 'true' else False) else: return Id(ctx.ID().getText())
def visitOperand(self, ctx: MPParser.OperandContext): if ctx.ID(): return Id(ctx.ID().getText()) elif ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.FLOATLIT(): return FloatLiteral(float(ctx.FLOATLIT().getText())) elif ctx.STRINGLIT(): return StringLiteral(ctx.STRINGLIT().getText()) else: #return BooleanLiteral(ctx.BOOLLIT().getText()) return BooleanLiteral(False if ctx.BOOLLIT().getText()[0] in ["F", "f"] else True)
def visitOperand(self, ctx:MPParser.OperandContext): #print("operand") if ctx.getChild(0) == ctx.literals(): return self.visit(ctx.literals()) elif ctx.getChild(0) == ctx.ID(): return Id(ctx.ID().getText()) else: return self.visit(ctx.funcall())
def visitOperand(self, ctx: MPParser.OperandContext): if ctx.ID(): return Id(ctx.ID().getText()) elif ctx.INTLIT(): return IntLiteral(int(ctx.INTLIT().getText())) elif ctx.BOOLIT(): return BooleanLiteral(self.toBool(ctx.BOOLIT().getText())) else: return self.visit(ctx.exp())
def visitOperand(self, ctx: MPParser.OperandContext): if ctx.operand2(): return self.visit(ctx.operand2()) else: return self.visit(ctx.exp_id())
def visitOperand(self, ctx: MPParser.OperandContext): '''operand: literal | IDENTIFIER | funcall;''' return Id( ctx.IDENTIFIER().getText()) if ctx.IDENTIFIER() else self.visit( ctx.getChild(0))