import sys if len(sys.argv) < 2: exit(1) fileName = sys.argv[1] thefile = open(fileName).readlines() def isnumber(num): try: float(num) return True except ValueError: return False allstr = "" color = "" keywords = ["if", "jump", "end", "stdin", "stdout", "stdlnout", "set", "gettype", "exists", "setlist", "setlistat", "getlistat", "getlistsize", "listappend", "getstrsize", "getstrcharat", "add", "subtract", "multiply", "divide", "equal", "inequal", "not", "greater", "lesser", "stoi", "stod", "tostring", "fun", "return", "endfun", "pusharg", "call", "use", "extern"] for line in thefile: allstr += line + "
" lines = len(allstr.split("
"))-1 a = allstr.split() for i in range(lines): instr = False incom = False words = len(allstr.split("
")[i].split()) for j in range(words): tempword = allstr.split("
")[i].split()[j] if allstr.split("
")[i].split()[0][0] == "#": color = "\033[37m" elif allstr.split("
")[i].split()[0][0] == "@": color = "\033[32m" elif tempword in keywords: color = "\033[95m" elif tempword[0] == "#": incom = True color = "\033[37m" elif tempword[0] == "&": color = "\033[93m" elif tempword[0] == "$": color = "\033[33m" elif tempword[0] == "%": color = "\033[32m" elif tempword[0] == "-": color = "\033[34m" elif tempword[0] == "!": color = "\033[94m" elif tempword[0] == "*": color = "\033[93m" elif tempword[0] == "\"": color = "\033[92m" instr = not instr elif tempword[0] == "\'" and tempword[len(tempword)-1] == "\'": color = "\033[92m" elif isnumber(tempword) or tempword == "true" or tempword == "false": color = "\033[96m" elif instr: color = "\033[92m" elif incom: color = "\033[37m" else: color = "\033[91m" print(f'{color}{tempword}', end=" ") print() print("\033[00m", end="")