a mod supposed to be used for programming robots in minetest
Go to file
HybridDog 5b1549498b fix readme line breaks
M  README.md
2016-12-30 20:55:49 +01:00
textures 💥 2016-11-13 14:42:57 +01:00
.gitignore 💥 2016-11-13 14:42:57 +01:00
LICENSE.txt 💥 2016-11-13 14:42:57 +01:00
README.md fix readme line breaks 2016-12-30 20:55:49 +01:00
faden.lua more instructions, string length test and dont try executing nil 2016-12-29 14:14:20 +01:00
init.lua 💥 2016-11-13 14:42:57 +01:00
parser.lua fix parsing lables, untested 2016-12-29 22:50:47 +01:00
standardbefehlssatz.lua remove jif instruction and add optional jump condition to jmp 2016-12-29 22:48:40 +01:00

README.md

commands are read line by line

[<labelname>:] [<commandname> [<arg1>[,<arg2[…]]]] [; <comment>]

arguments can be either variables, labels or immediates,
labels are replaced with immediates which have the line numbers of the labels as their values
true/false: boolean (immediate)
12.6: number (immediate)
$hello nwae: string (immediate)
nodolla: either a label is called so (immediate) or it's a variable

How to use this mod:

local mylog = print

local parsed_code = pdisc.parse(code_text)

local function mystart(parsed_code)
	local thread = pdisc.create_thread(function(thread)
		thread.flush = function(self)
			mylog(self.log)
			self.log = ""
			return true
		end
	end, parsed_code)
	mykeepalive(thread)
end

mystart(parsed_code)

local function mykeepalive(thread)
	thread:suscitate()
	if not thread.stopped then
		return
	end
	thread:try_rebirth()
	minetest.after(0.1, function()
		mykeepalive()
	end)
end