transform.py (1294B)
1from tpu import * 2import sys, string, random 3 4random.seed(133713371337) 5 6main = parse(open(sys.argv[1]).read()) 7 8def isint(op): 9 try: 10 int(op, 0) 11 return True 12 except: 13 return False 14 15main["stdin"] = [str(v).lower() for v in main["stdin"]] 16main["stdout"] = [str(v).lower() for v in main["stdout"]] 17 18for _,ls in main["tpus"].items(): 19 labelmap = {} 20 for li,l in enumerate(ls): 21 l = l.split("#",1)[0].strip().lower() 22 if ":" in l: 23 name = l.strip().split(":")[0] 24 labelmap[name] = "".join([random.choice(string.ascii_lowercase) for _ in range(8)]) 25 ls[li] = l 26 while "" in ls: 27 ls.remove("") 28 for li,l in enumerate(ls): 29 if l == "": continue 30 ops = l.replace(",", " ").split() 31 cmd = ops[0] 32 if len(ops) > 1: 33 nops = [] 34 for op in ops[1:]: 35 if op in labelmap: 36 nops.append(labelmap[op]) 37 elif isint(op): 38 nops.append(hex(int(op,0))) 39 else: 40 nops.append(op) 41 ls[li] = "\t" + cmd + " " + ",".join(nops) 42 elif ":" in cmd: 43 ls[li] = labelmap[cmd[:-1]] + ":" 44 else: 45 ls[li] = "\t" + cmd 46 47 48write(main, sys.argv[2])