Module:siwa-noun/data: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 4: Line 4:


local ine, ill, ela, ade, all, abl, loc
local ine, ill, ela, ade, all, abl, loc
local cases = {"ine", "ill", "ela", "ade", "all", "abl"}
local ce = {"a", "ta", "ka", "ma", "bma", "ska"}


local function lenition(word)
local function lenition(word)
Line 51: Line 53:
elseif stem:match(v.."[pb].$") then
elseif stem:match(v.."[pb].$") then
data.forms["m"] = {s2 .. (data.q == "s" and "pra" or "ḍga")}
data.forms["m"] = {s2 .. (data.q == "s" and "pra" or "ḍga")}
elseif stem:match(v.."t.$") then
elseif stem:match(v.."[td].$") then
data.forms["m"] = {s2 .. (data.q == "s" and "tra" or "rka")}
data.forms["m"] = {s2 .. (data.q == "s" and "tra" or "rka")}
elseif stem:match(v.."r.$") then
elseif stem:match(v.."r.$") then
Line 77: Line 79:
elseif stem:match(v.."[pb].$") then
elseif stem:match(v.."[pb].$") then
loc = s2 .. (data.q == "s" and "pri" or "ḍgi")
loc = s2 .. (data.q == "s" and "pri" or "ḍgi")
elseif stem:match(v.."t.$") then
elseif stem:match(v.."[td].$") then
loc = s2 .. (data.q == "s" and "tri" or "tṡi")
loc = s2 .. (data.q == "s" and "tri" or "tṡi")
elseif stem:match(v.."r.$") then
elseif stem:match(v.."r.$") then
Line 85: Line 87:
end
end
data.forms["ine"] = {(ine or loc) .. "a"}
data.forms["ine"] = {(ine or loc) .. ce[1]}
data.forms["ill"] = {(ill or loc) .. "ta"}
data.forms["ill"] = {(ill or loc) .. ce[2]}
data.forms["ela"] = {(ela or loc) .. "ka"}
data.forms["ela"] = {(ela or loc) .. ce[3]}
data.forms["ade"] = {(ade or loc) .. "ma"}
data.forms["ade"] = {(ade or loc) .. ce[4]}
data.forms["all"] = {(all or loc) .. "bma"}
data.forms["all"] = {(all or loc) .. ce[5]}
data.forms["abl"] = {(abl or loc) .. "ska"}
data.forms["abl"] = {(abl or loc) .. ce[6]}
-- TODO: add alternative forms with table.insert
-- TODO: add alternative forms with table.insert
for n, case in pairs(cases) do
if stem:match(v.."[pb].$") then
table.insert(data.forms[case], s2 .. "nṡi" .. ce[n])
end
end
end
end
})
})