Exemple #1
0
 def visitOperand(self, ctx:MCParser.OperandContext):
     if (ctx.literals()):
         return self.visit(ctx.literals())
     if (ctx.ID()):
         return Id(ctx.ID().getText())
     if (ctx.func_call()):
         return self.visit(ctx.func_call())
     if (ctx.sub_exp()):
         return self.visit(ctx.sub_exp())
     return self.visit(ctx.index_exp())
 def visitOperand(self, ctx: MCParser.OperandContext):
     if ctx.INTLIT():
         return IntLiteral(int(ctx.INTLIT().getText()))
     elif ctx.FLOATLIT():
         return FloatLiteral(float(ctx.FLOATLIT().getText()))
     elif ctx.BOOLLIT():
         return BooleanLiteral(
             bool(True) if ctx.BOOLLIT().getText() ==
             "true" else bool(False))
     elif ctx.STRINGLIT():
         return StringLiteral(str(ctx.STRINGLIT().getText()))
     elif ctx.exp():
         return self.visit(ctx.exp())
     elif ctx.func_call():
         return self.visit(ctx.func_call())
     else:
         return Id(ctx.ID().getText())