aboutsummaryrefslogtreecommitdiff
path: root/nomsu_compiler.lua
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-07-30 14:26:08 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-07-30 14:26:28 -0700
commitdc0c940d65f9922407a101277ccab9e5bfa70c67 (patch)
treec3270950e5855918566f9686e38831e6793e91e2 /nomsu_compiler.lua
parent54906c0553147f29807c945eace6724d06ff570c (diff)
Added bit library and support for checking Lua version and whether
LuaJIT is being used.
Diffstat (limited to 'nomsu_compiler.lua')
-rw-r--r--nomsu_compiler.lua14
1 files changed, 12 insertions, 2 deletions
diff --git a/nomsu_compiler.lua b/nomsu_compiler.lua
index 486e3e6..4974bce 100644
--- a/nomsu_compiler.lua
+++ b/nomsu_compiler.lua
@@ -204,7 +204,6 @@ do
loadstring = loadstring,
type = type,
select = select,
- debug = debug,
math = math,
io = io,
load = load,
@@ -213,6 +212,11 @@ do
list = list,
dict = dict
}
+ if jit then
+ to_add.bit = require('bit')
+ elseif _VERSION == "Lua 5.2" then
+ to_add.bit = bit32
+ end
for k, v in pairs(to_add) do
NomsuCompiler[k] = v
end
@@ -365,6 +369,12 @@ do
return _accum_0
end)(), "\n")
return LuaCode(tree.source, "TESTS[" .. tostring(repr(tostring(tree.source))) .. "] = ", repr(test_str))
+ end,
+ ["is jit"] = function(self, tree, _code)
+ return LuaCode.Value(tree.source, jit and "true" or "false")
+ end,
+ ["Lua version"] = function(self, tree, _code)
+ return LuaCode.Value(tree.source, repr(_VERSION))
end
}, {
__index = function(self, stub)
@@ -1159,7 +1169,7 @@ do
end
end
nomsu:append(interp_nomsu)
- if interp_nomsu:is_multiline() then
+ if interp_nomsu:is_multiline() and i < #tree then
nomsu:append("\n..")
end
end