Module:siwa-noun/data: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 10: Line 10:
setmetatable(data["i-a-s"], {__call = function(self, args, data)
setmetatable(data["i-a-s"], {__call = function(self, args, data)
local stem = args[1]
local stem = args[1]
table.insert(data.categories, "Siwa inanimate nouns")
table.insert(data.categories, "Siwa a-declension nouns")
table.insert(data.categories, "Siwa a-declension nouns")
data.forms["nom"] = {stem}
data.forms["nom"] = {stem}
Line 118: Line 120:
})
})


data["i-a-l"] = {
params = {
[1] = {},
},
}
setmetatable(data["i-a-l"], {__call = function(self, args, data)
local stem = args[1]
table.insert(data.categories, "Siwa inanimate nouns")
table.insert(data.categories, "Siwa a-declension nouns")
data.forms["nom"] = {stem}
data.forms["gen"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mka") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mka") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "gga") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkka") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkka") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skka") or
(stem .. "ka")
}
data.forms["ine"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkia") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkia") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggia") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkia") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkia") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkia") or
(stem .. "kia")
}
data.forms["ill"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkita") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkita") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggita") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkita") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkita") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkita") or
(stem .. "kita")
}
data.forms["ela"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkika") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkika") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggika") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkika") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkika") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkika") or
(stem .. "kika")
}
data.forms["ade"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkima") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkima") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggima") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkima") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkima") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkima") or
(stem .. "kima")
}
data.forms["all"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkibma") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkibma") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggibma") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkibma") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkibma") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkibma") or
(stem .. "kibma")
}
data.forms["abl"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mkiska") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mkiska") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggiska") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkiska") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkiska") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkiska") or
(stem .. "kiska")
}
end
})


 
data["i-a-w"] = {
 
params = {
 
[1] = {},
 
},
 
}
 
setmetatable(data["i-a-w"], {__call = function(self, args, data)
 
local stem = args[1]
 
table.insert(data.categories, "Siwa inanimate nouns")
 
table.insert(data.categories, "Siwa a-declension nouns")
 
 
 
data.forms["nom"] = {stem}
 
data.forms["gen"] = {
 
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kka") or
 
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kka") or
 
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kka") or
 
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍba") or
 
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tka") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hka") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "gga") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkka") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkka") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skka") or
(stem .. "ka")
}
data.forms["ine"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkia") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkia") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkia") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbia") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡia") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkia") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggia") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkia") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkia") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkia") or
(stem .. "kia")
}
data.forms["ill"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkita") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkita") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkita") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbita") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡita") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkita") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggita") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkita") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkita") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkita") or
(stem .. "kita")
}
data.forms["ela"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkika") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkika") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkika") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbika") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡika") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkika") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggika") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkika") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkika") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkika") or
(stem .. "kika")
}
data.forms["ade"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkima") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkima") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkima") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbima") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡima") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkima") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggima") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkima") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkima") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkima") or
(stem .. "kima")
}
data.forms["all"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkibma") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkibma") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkibma") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbibma") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡibma") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkibma") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggibma") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkibma") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkibma") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkibma") or
(stem .. "kibma")
}
data.forms["abl"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "kkiska") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "kkiska") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "kkiska") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "ḍbiska") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡiska") or
(sub(stem, -2, -2) == "r" and sub(stem, 1, -3) .. "hkiska") or
(sub(stem, -3, -2) == "vv" and sub(stem, 1, -4) .. "ggiska") or
(sub(stem, -3, -2) == "lk" and sub(stem, 1, -4) .. "lkkiska") or
(sub(stem, -3, -2) == "rk" and sub(stem, 1, -4) .. "rkkiska") or
(sub(stem, -3, -2) == "sk" and sub(stem, 1, -4) .. "skkiska") or
(stem .. "kia")
}
end
})