def visitLiteral(self, ctx: BKITParser.LiteralContext):
        # One value
        if ctx.lit_type():
            return ctx.lit_type().accept(self)

        if ctx.array_literal():
            return ctx.array_literal().accept(self)
 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()))