Module:siwa-noun/data: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 98: Line 98:
setmetatable(data["e"], {__call = function(self, args, data)
setmetatable(data["e"], {__call = function(self, args, data)
local stem = data.head  
local stem = data.head  
local s2, s3 = sub(lenition(stem), 1, -3), sub(lenition(stem), 1, -4)
local s1, s2, s3 = sub(lenition(stem), 1, -2), sub(lenition(stem), 1, -3), sub(lenition(stem), 1, -4)
table.insert(data.categories, "Siwa e-declension nouns")
table.insert(data.categories, "Siwa e-declension nouns")
Line 139: Line 139:
data.forms["m"] = {stem .. "ri"}
data.forms["m"] = {stem .. "ri"}
loc = stem .. "ri"
loc = stem .. "ri"
end
elseif stem:match("[io]$") then
if stem:match(v.."mm.$") then
data.forms["m"] = {s3 .. "mme"}
loc = s3 .. "mmei"
elseif stem:match(v.."[mpbvnrlkg].$") then
local stl = sub(stem, -2, -2)
stl = stl:gsub("p", "b"); stl = stl:gsub("k", "g")
data.forms["m"] = {s2 .. stl .. stl .. "e"}
loc = s2 .. stl .. stl .. "ei"
elseif stem:match("o$") then
data.forms["m"] = {s1 .. "ue", s1 .. "obi"}
loc = s1 .. "uei"
end
end
end
end
Line 153: Line 166:
if stem:match(v.."[^t][^nbkmvslhġ][ae]$") then
if stem:match(v.."[^t][^nbkmvslhġ][ae]$") then
table.insert(data.forms[case], s2 .. "h" .. ce[n])
table.insert(data.forms[case], s2 .. "h" .. ce[n])
elseif stem:match("[^mpbvnrlkg]o$") then
table.insert(data.forms[case], s1 .. "obi")
end
end
end
end

Navigation menu