Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local nextLine = [[
- ]]
- local QuickInstall = false
- local aTranslations = {}
- local bTranslations = {}
- local oldShellRun = shell.run
- function newShellRun( name, stuff )
- if name then
- sLength = string.len(name)
- extension = name:sub(sLength-string.len("bar"), sLength)
- if extension == ".bar" or extension == "bar" then
- test = fs.open(name, "r")
- if test then
- Decompiled = TranslatorFUNC("2", test.readAll())
- test.close()
- end
- fs.delete(".TRANSLATEDFILENAMESTUFF" ..name)
- file = fs.open(".TRANSLATEDFILENAMESTUFF" ..name, "w")
- file.write(Decompiled)
- file.close()
- name = ".TRANSLATEDFILENAMESTUFF" ..name
- end
- end
- return oldShellRun(name, stuff)
- end
- textutils.slowPrint("Overwriting shell.run...")
- shell.run = newShellRun
- textutils.slowPrint("Done!")
- sleep(0.2)
- function addPatch( letter, trans )
- write(trans.. " ")
- aTranslations[letter] = trans
- bTranslations[trans] = letter
- if not QuickInstall then
- sleep(0)
- end
- end
- print("Adding translation: \n")
- for i = 1,4 do --a matrix effect
- addPatch(nextLine, "00001010") --Debug
- addPatch("1", "00110001") --Translate Numbers
- addPatch("2", "00110010")
- addPatch("3", "00110011")
- addPatch("4", "00110100")
- addPatch("5", "00110101")
- addPatch("6", "00110110")
- addPatch("7", "00110111")
- addPatch("8", "00111000")
- addPatch("9", "00111001")
- addPatch("0", "00110000")
- addPatch("a", "01100001") --Tranlsate Letters (LOWERCASE)
- addPatch("b", "01100010")
- addPatch("c", "01100011")
- addPatch("d", "01100100")
- addPatch("e", "01100101")
- addPatch("f", "01100110")
- addPatch("g", "01100111")
- addPatch("h", "01101000")
- addPatch("i", "01101001")
- addPatch("j", "01101010")
- addPatch("k", "01101011")
- addPatch("l", "01101100")
- addPatch("m", "01101101")
- addPatch("n", "01101110")
- addPatch("o", "01101111")
- addPatch("p", "01110000")
- addPatch("q", "01110001")
- addPatch("r", "01110010")
- addPatch("s", "01110011")
- addPatch("t", "01110100")
- addPatch("u", "01110101")
- addPatch("v", "01110110")
- addPatch("w", "01110111")
- addPatch("x", "01111000")
- addPatch("y", "01111001")
- addPatch("z", "01111010")
- addPatch("A", "01000001") --Tranlsate Letters (CAPITAL)
- addPatch("B", "01000010")
- addPatch("C", "01000011")
- addPatch("D", "01000100")
- addPatch("E", "01000101")
- addPatch("F", "01000110")
- addPatch("G", "01000111")
- addPatch("H", "01001000")
- addPatch("I", "01001001")
- addPatch("J", "01001010")
- addPatch("K", "01001011")
- addPatch("L", "01001100")
- addPatch("M", "01001101")
- addPatch("N", "01001110")
- addPatch("O", "01001111")
- addPatch("P", "01010000")
- addPatch("Q", "01010001")
- addPatch("R", "01010010")
- addPatch("S", "01010011")
- addPatch("T", "01010100")
- addPatch("U", "01010101")
- addPatch("V", "01010110")
- addPatch("W", "01010111")
- addPatch("X", "01011000")
- addPatch("Y", "01011001")
- addPatch("Z", "01011010")
- addPatch("!", "00100001") --Tranlsate Symbols
- addPatch("@", "01000000")
- addPatch("#", "00100011")
- addPatch(" ", "00100000")
- addPatch('"', "00100010")
- addPatch("'", "00100111")
- addPatch("$", "00100100")
- addPatch("%", "00100101")
- addPatch("^", "01011110")
- addPatch("&", "00100110")
- addPatch("*", "00101010")
- addPatch("(", "00101000")
- addPatch(")", "00101001")
- addPatch("-", "00101101")
- addPatch("_", "01011111")
- addPatch("+", "00101011")
- addPatch("=", "00111101")
- addPatch("{", "01111011")
- addPatch("}", "01111101")
- addPatch("[", "01011011")
- addPatch("]", "01011101")
- addPatch("|", "01111100")
- addPatch("\\", "01011100")
- addPatch(":", "00111010")
- addPatch(";", "00111011")
- addPatch("<", "00111100")
- addPatch(">", "00111110")
- addPatch(",", "00101100")
- addPatch(".", "00101110")
- addPatch("?", "00111111")
- addPatch("/", "00101111")
- addPatch("~", "01111110")
- addPatch("`", "01100000")
- end
- function TranslatorFUNC( i2nput, input )
- tranzzz = ""
- function tAdd( stuffzzz )
- tranzzz = tranzzz .. stuffzzz
- end
- if i2nput == "1" then
- for i=1,string.len(input) do
- if aTranslations[string.sub(input, i, i)] then
- tAdd(aTranslations[string.sub(input, i, i)].. " ")
- else
- tAdd(string.sub(input, i, i))
- end
- end
- else
- for match in input:gmatch("[^ \t]+") do
- if bTranslations[match] then
- tAdd(bTranslations[match])
- else
- tAdd(match)
- end
- end
- end
- return tranzzz
- end
- local fileSTUFFZCOMPILE = [[
- local tArgs = { ... }
- if tArgs[1] then
- if fs.exists(tArgs[1]) then
- file = fs.open(tArgs[1], "r")
- if file then
- a = TranslatorFUNC( "1", file.readAll() )
- file.close()
- end
- fs.delete(tArgs[1].. ".bar")
- file = fs.open(tArgs[1].. ".bar", "w")
- file.write(a)
- file.close()
- print("Done! Saved as " ..tArgs[1].. ".bar")
- else
- print("No such file.")
- end
- else
- print("Usage: compiler <path")
- end
- ]]
- print("Done!")
- textutils.slowPrint("Deleting compiler...")
- fs.delete("compiler")
- textutils.slowPrint("Done!")
- compiler = fs.open("compiler", "w")
- compiler.write(fileSTUFFZCOMPILE)
- compiler.close()
- textutils.slowPrint("Installing compiler to /compiler.")
- sleep(1)
- print("Installation complete!")
- print("Files created:")
- print(" * Compiler")
- print("Errors: 0")
Advertisement
Add Comment
Please, Sign In to add comment