Module:siwa-noun/data: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 418: Line 418:
end
end
end
end
end
})
data["y"] = {
params = {
[1] = {},
},
}
setmetatable(data["y"], {__call = function(self, args, data)
local stem = data.head
local s1, s2, s3 = sub(lenition(stem), 1, -2), sub(lenition(stem), 1, -3), sub(lenition(stem), 1, -4)
table.insert(data.categories, "Siwa y-declension nouns")
data.forms["ine"] = {}
data.forms["u"] = {stem}
if stem:match("a$") then
if stem:match(v.."[mn][mn].$") then
data.forms["m"] = {s3 .. "mmo"}
loc = s3 .. "mmoi"
elseif stem:match(v.."[mvn].$") then
data.forms["m"] = {s2 .. "mmo"}
loc = s2 .. "mmoi"
elseif stem:match(v.."[rhgk].$") then
data.forms["m"] = {s2 .. "hmo"}
loc = s2 .. "hmoi"
elseif stem:match(v.."l.$") then
data.forms["m"] = {s2 .. "lmo"}
loc = s2 .. "lmoi"
else
data.forms["m"] = {lenition(stem) .. "mo"}
loc = lenition(stem) .. "moi"
end
elseif stem:match("i$") then
if stem:match(v.."[mn][mn].$") then
data.forms["m"] = {s3 .. "ndi"}
loc = s3 .. "ndi"
elseif stem:match("[uo][mn].$") then
data.forms["m"] = {s3 .. "õdi"}
loc = s3 .. "õdi"
elseif stem:match(v.."[mn].$") then
data.forms["m"] = {s2 .. "ndi"}
loc = s2 .. "ndi"
elseif stem:match(v.."[vg].$") then
data.forms["m"] = {s2 .. "ḍḍi"}
if sub(stem, -2, -2) == "g" then table.insert(data.forms["m"], s2 .. "hdi") end
ela, ade = s2 .. "ḍ", s2 .. "ḍ"
ine, ill, all, abl = s2 .. "ḍḍi", s2 .. "ḍḍi", s2 .. "ḍḍi", s2 .. "ḍḍi"
elseif stem:match(v.."s.$") then
data.forms["m"] = {s2 .. "sti"}
loc = s2 .. "sti"
elseif stem:match(v.."[rhk].$") then
data.forms["m"] = {s2 .. "hdi"}
loc = s2 .. "hdi"
elseif stem:match(v.."l.$") then
data.forms["m"] = {s2 .. "ldi"}
loc = s2 .. "ldi"
elseif stem:match("i$") then
data.forms["m"] = {s1 .. "id"}
ill, ela, ade = s1 .. "ih", s1 .. "ih", s1 .. "ih"
ine = s1 .. "idi"
all, abl = s1 .. "ỉ", s1 .. "ỉ"
table.insert(data.forms["ine"], s1 .. "ỉa")
else
data.forms["m"] = {lenition(stem) .. "di"}
ill, ela, ade = lenition(stem) .. "h", lenition(stem) .. "h", lenition(stem) .. "h"
all, abl = lenition(stem) .. "i", lenition(stem) .. "i"
ine = lenition(stem) .. "di"
end
end
table.insert(data.forms["ine"], (ine or loc) .. ce[1])
data.forms["ill"] = {(ill or loc) .. ce[2]}
data.forms["ela"] = {(ela or loc) .. ce[3]}
data.forms["ade"] = {(ade or loc) .. ce[4]}
data.forms["all"] = {(all or loc) .. ce[5]}
data.forms["abl"] = {(abl or loc) .. ce[6]}
end
end
})
})


return data
return data