xXm0dzXx

Untitled

Jun 12th, 2012
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. local aTranslations = {}
  2. local bTranslations = {}
  3. local oldShellRun = shell.run
  4.  
  5. function newShellRun( name, stuff )
  6. if name then
  7. sLength = string.len(name)
  8. extension = name:sub(sLength-string.len("bar"), sLength)
  9. if extension == ".bar" or extension == "bar" then
  10. test = fs.open(name, "r")
  11. if test then
  12. Decompiled = TranslatorFUNC("2", test.readAll())
  13. test.close()
  14. end
  15. fs.delete(".TRANSLATEDFILENAMESTUFF" ..name)
  16. file = fs.open(".TRANSLATEDFILENAMESTUFF" ..name, "w")
  17. file.write(Decompiled)
  18. file.close()
  19. name = ".TRANSLATEDFILENAMESTUFF" ..name
  20. end
  21. end
  22.  
  23. return oldShellRun(name,stuff)
  24. end
  25.  
  26. textutils.slowPrint("Overwriting shell.run...")
  27. shell.run = newShellRun
  28. textutils.slowPrint("Done!")
  29. sleep(0.2)
  30.  
  31. function addPatch( letter, trans )
  32. write(trans.. " ")
  33. aTranslations[letter] = trans
  34. bTranslations[trans] = letter
  35. sleep(0)
  36. end
  37.  
  38. print("Adding translation: \n")
  39. for i = 1,4 do --a matrix effect
  40. addPatch("1", "00110001") --Translate Numbers
  41. addPatch("2", "00110010")
  42. addPatch("3", "00110011")
  43. addPatch("4", "00110100")
  44. addPatch("5", "00110101")
  45. addPatch("6", "00110110")
  46. addPatch("7", "00110111")
  47. addPatch("8", "00111000")
  48. addPatch("9", "00111001")
  49. addPatch("0", "00110000")
  50.  
  51. addPatch("a", "01100001") --Tranlsate Letters (LOWERCASE)
  52. addPatch("b", "01100010")
  53. addPatch("c", "01100011")
  54. addPatch("d", "01100100")
  55. addPatch("e", "01100101")
  56. addPatch("f", "01100110")
  57. addPatch("g", "01100111")
  58. addPatch("h", "01101000")
  59. addPatch("i", "01101001")
  60. addPatch("j", "01101010")
  61. addPatch("k", "01101011")
  62. addPatch("l", "01101100")
  63. addPatch("m", "01101101")
  64. addPatch("n", "01101110")
  65. addPatch("o", "01101111")
  66. addPatch("p", "01110000")
  67. addPatch("q", "01110001")
  68. addPatch("r", "01110010")
  69. addPatch("s", "01110011")
  70. addPatch("t", "01110100")
  71. addPatch("u", "01110101")
  72. addPatch("v", "01110110")
  73. addPatch("w", "01110111")
  74. addPatch("x", "01111000")
  75. addPatch("y", "01111001")
  76. addPatch("z", "01111010")
  77.  
  78. addPatch("A", "01000001") --Tranlsate Letters (CAPITAL)
  79. addPatch("B", "01000010")
  80. addPatch("C", "01000011")
  81. addPatch("D", "01000100")
  82. addPatch("E", "01000101")
  83. addPatch("F", "01000110")
  84. addPatch("G", "01000111")
  85. addPatch("H", "01001000")
  86. addPatch("I", "01001001")
  87. addPatch("J", "01001010")
  88. addPatch("K", "01001011")
  89. addPatch("L", "01001100")
  90. addPatch("M", "01001101")
  91. addPatch("N", "01001110")
  92. addPatch("O", "01001111")
  93. addPatch("P", "01010000")
  94. addPatch("Q", "01010001")
  95. addPatch("R", "01010010")
  96. addPatch("S", "01010011")
  97. addPatch("T", "01010100")
  98. addPatch("U", "01010101")
  99. addPatch("V", "01010110")
  100. addPatch("W", "01010111")
  101. addPatch("X", "01011000")
  102. addPatch("Y", "01011001")
  103. addPatch("Z", "01011010")
  104.  
  105. addPatch("!", "00100001") --Tranlsate Symbols
  106. addPatch("@", "01000000")
  107. addPatch("#", "00100011")
  108. addPatch(" ", "00100000")
  109. addPatch('"', "00100010")
  110. addPatch("'", "00100111")
  111. addPatch("$", "00100100")
  112. addPatch("%", "00100101")
  113. addPatch("^", "01011110")
  114. addPatch("&", "00100110")
  115. addPatch("*", "00101010")
  116. addPatch("(", "00101000")
  117. addPatch(")", "00101001")
  118. addPatch("-", "00101101")
  119. addPatch("_", "01011111")
  120. addPatch("+", "00101011")
  121. addPatch("=", "00111101")
  122. addPatch("{", "01111011")
  123. addPatch("}", "01111101")
  124. addPatch("[", "01011011")
  125. addPatch("]", "01011101")
  126. addPatch("|", "01111100")
  127. addPatch("\\", "01011100")
  128. addPatch(":", "00111010")
  129. addPatch(";", "00111011")
  130. addPatch("<", "00111100")
  131. addPatch(">", "00111110")
  132. addPatch(",", "00101100")
  133. addPatch(".", "00101110")
  134. addPatch("?", "00111111")
  135. addPatch("/", "00101111")
  136. addPatch("~", "01111110")
  137. addPatch("`", "01100000")
  138. end
  139.  
  140. function TranslatorFUNC( i2nput, input )
  141.  
  142. tranzzz = ""
  143.  
  144. function tAdd( stuffzzz )
  145. tranzzz = tranzzz .. stuffzzz
  146. end
  147.  
  148. if i2nput == "1" then
  149. for i=1,string.len(input) do
  150. if aTranslations[string.sub(input, i, i)] then
  151. tAdd(aTranslations[string.sub(input, i, i)].. " ")
  152. else
  153. tAdd(string.sub(input, i, i))
  154. end
  155. end
  156. else
  157. for match in input:gmatch("[^ \t]+") do
  158. if bTranslations[match] then
  159. tAdd(bTranslations[match])
  160. else
  161. tAdd(match)
  162. end
  163. end
  164. end
  165.  
  166. return tranzzz
  167. end
  168. local fileSTUFFZCOMPILE = [[
  169. local tArgs = { ... }
  170.  
  171. if tArgs[1] then
  172. if fs.exists(tArgs[1]) then
  173. file = fs.open(tArgs[1], "r")
  174. if file then
  175. a = TranslatorFUNC( "1", file.readAll() )
  176. file.close()
  177. end
  178. fs.delete(tArgs[1].. ".bar")
  179. file = fs.open(tArgs[1].. ".bar", "w")
  180. file.write(a)
  181. file.close()
  182. print("Done! Saved as " ..tArgs[1].. ".bar")
  183. else
  184. print("No such file.")
  185. end
  186. else
  187. print("Usage: compiler <path")
  188. end
  189. ]]
  190. print("Done!")
  191. textutils.slowPrint("Deleting compiler...")
  192. fs.delete("compiler")
  193. textutils.slowPrint("Done!")
  194. compiler = fs.open("compiler", "w")
  195. compiler.write(fileSTUFFZCOMPILE)
  196. compiler.close()
  197. textutils.slowPrint("Installing compiler to /compiler.")
  198. sleep(1)
  199. print("Installation complete!")
  200. print("Files created:")
  201. print(" * Compiler")
  202. print("Errors: 0")
Advertisement
Add Comment
Please, Sign In to add comment