local ld = loadstring or load
local function e(src) print(pcall(ld(src, "=c"))) end
if _VERSION == "Lua 5.2" or _VERSION == "Lua 5.3" then e("return -'abc'") end
e("return ('x') * 2")
e("return 'abc' + 1")
e("return #5")
e("return ('abc')()")
e("local t = {} return t[1] + 1")
e("local t = {} return t[1].x")
e("local t = {} return t[1]()")
e("local t, k = {}, 'q' return t[k].x")
if _VERSION ~= "Lua 5.1" then
print(pcall(load("x = 1", "=c", "t", nil)))
print(pcall(load("return y.z", "=c", "t", nil)))
end
e("for k in nil do end")
e("for k in 3 do end")
e("local t = {} for k in t.x do end")