45,609
edits
No edit summary |
No edit summary |
||
Line 647: | Line 647: | ||
local s1, s2, s3 = sub(stem, 1, -2), sub(stem, 1, -3), sub(stem, 1, -4) | local s1, s2, s3 = sub(stem, 1, -2), sub(stem, 1, -3), sub(stem, 1, -4) | ||
local sv = args[2] | local sv = args[2] | ||
local av = stem:match(v.."..$") and true or false -- After Vowel | |||
table.insert(data.categories, "Siwa n-declension nouns") | table.insert(data.categories, "Siwa n-declension nouns") | ||
Line 731: | Line 732: | ||
params = { | params = { | ||
[2] = {}, -- stressed vowel | [2] = {}, -- stressed vowel | ||
["h"] = {}, -- Human | |||
}, | }, | ||
} | } | ||
Line 748: | Line 750: | ||
data.forms["u_pl"] = {stem .. "gi", s2 .. "mṡi", s2 .. "mhi"} | data.forms["u_pl"] = {stem .. "gi", s2 .. "mṡi", s2 .. "mhi"} | ||
data.forms["m_pl"] = {s2 .. "tagi", s2 .. "ttagi"} | data.forms["m_pl"] = {s2 .. "tagi", s2 .. "ttagi"} | ||
elseif stem:match("[bpv]a$") then | |||
data.forms["m_sg"] = {s2 .. "u"} | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_pl"] = {s2 .. "ugi"} | |||
elseif stem:match("[bpv]i$") then | |||
data.forms["m_sg"] = {s2 .. "umi"} | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
if stem:match("[bp].$") then table.insert(data.forms["u_pl"], s2 .. "bṡi") end | |||
data.forms["m_pl"] = {s2 .. "umṡi"} | |||
elseif stem:match("[bpv]o$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "oųi"} | |||
data.forms["m_pl"] = {s2 .. "oṡi"} | |||
elseif stem:match("[tn][ao]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "vva", s2 .. "ųa", s2 .. "va"} | |||
data.forms["m_pl"] = {s2 .. "vvagi", s2 .. "ųagi", s2 .. "vagi"} | |||
elseif stem:match("ni$") then | |||
data.forms["u_pl"] = {stem .. "gi", s1 .. "ṡi", s1 .. "hi"} | |||
data.forms["m_sg"] = {s2 .. "įa"} | |||
data.forms["m_pl"] = {s2 .. "įagi"} | |||
elseif stem:match("t[ei]$") then | |||
data.forms["u_pl"] = {stem .. "gi", s1 .. "si"} | |||
data.forms["m_sg"] = {s2 .. "ika"} | |||
data.forms["m_pl"] = {s2 .. "ikagi"} | |||
elseif stem:match("s[ao]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
if args.h then | |||
data.forms["m_sg"] = {s2 .. "tta"} | |||
data.forms["m_pl"] = {s2 .. "ttagi"} | |||
else | |||
data.forms["m_sg"] = {s2 .. "hi", s2 .. "ḥi"} | |||
data.forms["m_pl"] = {s2 .. "higi", s2 .. "ḥigi"} | |||
end | |||
elseif stem:match("si$") then | |||
data.forms["u_pl"] = {stem .. "gi", s1 .. "sġi"} | |||
data.forms["m_sg"] = {s2 .. "tta"} | |||
data.forms["m_pl"] = {s2 .. "ttagi"} | |||
elseif stem:match("ṡi$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. (av and "hta" or "ohta")} | |||
data.forms["m_pl"] = {s2 .. (av and "hta" or "ohta") .. "gi"} | |||
elseif stem:match("[lr][ao]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "sta"} | |||
data.forms["m_pl"] = {s2 .. "stagi"} | |||
elseif stem:match("[lr]i$") then | |||
data.forms["u_pl"] = {s1 .. (av and "hi" or "igi")} | |||
data.forms["m_sg"] = {s2 .. "tṡa"} | |||
data.forms["m_pl"] = {s2 .. "tṡagi"} | |||
elseif stem:match("lu$") then | |||
data.forms["u_pl"] = {s1 .. (av and "hi" or "ugi")} | |||
data.forms["m_sg"] = {s2 .. "da"} | |||
data.forms["m_pl"] = {s2 .. "dagi"} | |||
elseif stem:match("k[ao]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "uni"} | |||
data.forms["m_pl"] = {s2 .. "unhi"} | |||
elseif stem:match("ki$") then | |||
data.forms["u_pl"] = {s1 .. (av and "ṡi" or "igi")} | |||
data.forms["m_sg"] = {s2 .. "tṡa"} | |||
data.forms["m_pl"] = {s2 .. "tṡagi"} | |||
elseif stem:match("g[aoi]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
if args.h then | |||
data.forms["m_sg"] = {s2 .. "tsa"} | |||
data.forms["m_pl"] = {s2 .. "tsagi"} | |||
else | |||
data.forms["m_sg"] = {s2 .. "ubi"} | |||
data.forms["m_pl"] = {s2 .. "ubigi", s2 .. "ubṡi"} | |||
end | |||
elseif stem:match("h[ao]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "ra"} | |||
data.forms["m_pl"] = {s2 .. "ragi"} | |||
elseif stem:match("hi$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {s2 .. "tṡa"} | |||
data.forms["m_pl"] = {s2 .. "tṡagi"} | |||
elseif stem:match("[iy]$") then | |||
data.forms["u_pl"] = {stem .. "gi"} | |||
data.forms["m_sg"] = {stem .. "tṡa"} | |||
data.forms["m_pl"] = {stem .. "tṡagi"} | |||
end | |||
if match(data.forms["u_pl"], "igi$") then | |||
table.insert(data.forms["u_pl"], s1 .. "ęgi") | |||
end | |||
if match(data.forms["m_pl"], "igi$") then | |||
table.insert(data.forms["m_pl"], s1 .. "ęgi") | |||
end | end | ||
end | end | ||
}) | }) | ||
return data | return data |