mirror of
https://github.com/HybridDog/pdisc.git
synced 2024-11-14 14:20:39 +01:00
a mod supposed to be used for programming robots in minetest
https://github.com/HybridDog/pdisc
5b1549498b
M README.md |
||
---|---|---|
textures | ||
.gitignore | ||
faden.lua | ||
init.lua | ||
LICENSE.txt | ||
parser.lua | ||
README.md | ||
standardbefehlssatz.lua |
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