Module:siwa-noun/data: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
(Replaced content with "local data = {} local sub = mw.ustring.sub data["a"] = { params = { [1] = {}, }, } setmetatable(data["a"], {__call = function(self, args, data) local stem = args[1]...")
Tag: Replaced
Line 3: Line 3:
local sub = mw.ustring.sub
local sub = mw.ustring.sub


data["i-a-s"] = {
data["a"] = {
params = {
params = {
[1] = {},
[1] = {},
},
},
}
}
setmetatable(data["i-a-s"], {__call = function(self, args, data)
setmetatable(data["a"], {__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 inanimate nouns")
table.insert(data.categories, "Siwa a-declension nouns")
table.insert(data.categories, "Siwa a-declension nouns")
data.forms["unm"] = {stem}
data.forms["nom"] = {stem}
data.forms["gen"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mġa") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mġa") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nka") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pra") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tra") 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) .. "mṡia") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡia") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡia") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡia") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tria") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkia") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pria") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡia")
}
data.forms["ill"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mṡita") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡita") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡita") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡita") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "trita") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkita") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "prita") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡita")
}
data.forms["ela"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mṡika") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡika") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡika") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡika") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "trika") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkika") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "prika") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡika")
}
data.forms["ade"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mṡima") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡima") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡima") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡima") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "trima") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkima") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "prima") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡima")
}
data.forms["all"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mṡibma") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡibma") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡibma") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡibma") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tribma") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkibma") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pribma") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡibma")
}
data.forms["abl"] = {
(sub(stem, -3, -2) == "mm" and sub(stem, 1, -4) .. "mṡiska") or
(sub(stem, -2, -2) == "m" and sub(stem, 1, -3) .. "mṡiska") or
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nṡiska") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "pṡiska") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "triska") 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"),
(sub(stem, -2, -2) == "n" and sub(stem, 1, -3) .. "nkiska") or
((sub(stem, -2, -2) == "p" or sub(stem, -2, -2) == "b") and sub(stem, 1, -3) .. "priska") or
(sub(stem, -2, -2) == "t" and sub(stem, 1, -3) .. "tṡiska")
}
end
})
 
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
end
})
})

Revision as of 18:33, 19 July 2021



local data = {}

local sub = mw.ustring.sub

data["a"] = {
	params = {
		[1] = {},
	},
}
setmetatable(data["a"], {__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["unm"] = {stem}
end
})





return data