View difference between Paste ID: QGKGs60v and S520NYMV
SHOW: | | - or go back to the newest paste.
1
----
2
--Original compile and run source code developed by Pharap
3
--http://www.computercraft.info/forums2/index.php?/user/3218-pharap/
4
--
5
--The original source can be found here:
6
--Compile.lua: http://pastebin.com/S520NYMV
7
--Run.lua: http://pastebin.com/xjBgXmfy
8
---
9
10
--Argument Checking--
11
local args = {...}
12
if(#args<2)then error("Need two arguments",0) end
13
if(not fs.exists(args[1]))then error("Invalid filename",0) end
14
15
--Functionality--
16
local function compile(inFile,outFile)
17
	local file = fs.open(inFile,"r")
18
	local dump = string.dump(loadstring(file.readAll()))
19
	file.close()
20
	file = fs.open(outFile,"wb")
21
	local clock = os.clock() + 4.5
22
	for i = 1,#dump do 
23
		file.write(string.byte(dump:sub(i,i))) 
24
		if(os.clock()>=clock)then
25
			os.queueEvent"" -- Prevents 5 second loop. 
26
			coroutine.yield() -- Suggested by pingoleon60 and theoriginalbit
27
			clock = os.clock() + 4.5
28
		end
29
	end
30
	file.close()
31
end
32
33
compile(args[1],args[2])