45,333
edits
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 |