diff --git a/_/_.py b/_/_.py new file mode 100644 index 0000000..89ccea3 --- /dev/null +++ b/_/_.py @@ -0,0 +1,65 @@ +#import atexit + +def to_i(num, b): + n = 0 + for d in num: + if int(d) > b: + return 0 + n = b * n + int(d) + return n + +def to_c(digit): + if digit < 10: + return str(digit) + return chr(ord('a') + digit - 10) + +def to_s(number, base): + if number < 0: + return '-' + to_s(-number, base) + (d, m) = divmod(number, base) + if d > 0: + return to_s(d, base) + to_c(m) + return to_c(m) + +def chunks(li, n): + r = [] + for i in range(0, len(li), n): + r.append(li[i:i+n]) + return r + +def __script__(src): + code = [] + src = [list(to_s(ord(c), 6).rjust(3, "0")) for c in src] + src = [int(x, base=6)+1 for sub in src for x in sub] + for n in src: + if code: + if len(code[-1]) + n + 1 >= 60: code.append("") + else: code[-1] += " " + code[-1] += ("_" * n) + else: code.append("_" * n) + return "\n".join(code) + +def __ruby_script__(src): + return "require '_'\n\n" + __script__(src) + +def __py_script__(src): + return "import _\n\n" + __script__(src) + +code, fragment = [], [] +def to_be_exec(name): + global code + global fragment + code.extend(fragment) + del fragment[:] + for i in name.split(): + fragment.append(str((len(i)-1))) + _() + +def _(): + global code + global fragment + code.extend(fragment) + eval(''.join([chr(to_i(c, 6)) for c in chunks(''.join(code), 3)])) + code, fragment = [], [] + +#atexit.register(_)