xXm0dzXx

Untitled

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