def visitLiteral(self, ctx: BKITParser.LiteralContext):
     if ctx.INT_LITERAL():
         i = ctx.INT_LITERAL().getText()
         x = i.find('x')
         X = i.find('X')
         o = i.find('o')
         O = i.find('O')
         if (x != -1 or X != -1):
             cvert = int(i, 16)
         elif (o != -1 or O != -1):
             cvert = int(i, 8)
         else:
             cvert = int(i)
         return IntLiteral(cvert)
     if ctx.FLOAT_LITERAL():
         return FloatLiteral(float(ctx.FLOAT_LITERAL().getText()))
     if ctx.BOOLEAN_LITERAL():
         return BooleanLiteral(ctx.BOOLEAN_LITERAL().getText())
     if ctx.STRING_LITERAL():
         return StringLiteral(ctx.STRING_LITERAL().getText())
 def visitLiteral(self, ctx: BKITParser.LiteralContext):
     if ctx.boolean_literal():
         return self.visit(ctx.boolean_literal())
     if ctx.STRING_LITERAL():
         return StringLiteral(ctx.STRING_LITERAL().getText())
     if ctx.array_literal():
         return self.visit(ctx.array_literal())
     if ctx.FLOAT_LITERAL():
         return FloatLiteral(float(ctx.FLOAT_LITERAL().getText()))
     if ctx.INTEGER_LITERAL():
         tmp = str(ctx.INTEGER_LITERAL().getText())
         for i in range(len(tmp)):
             if tmp[i] == "O":
                 return IntLiteral(int(ctx.INTEGER_LITERAL().getText(), 8))
             if tmp[i] == "o":
                 return IntLiteral(int(ctx.INTEGER_LITERAL().getText(), 8))
             if tmp[i] == "X":
                 return IntLiteral(int(ctx.INTEGER_LITERAL().getText(), 16))
             if tmp[i] == "x":
                 return IntLiteral(int(ctx.INTEGER_LITERAL().getText(), 16))
         return IntLiteral(int(ctx.INTEGER_LITERAL().getText()))