local sub = mw.ustring.sub
local function lengthen(v)
local switch = {["a"] = "ā", ["e"] = "ē", ["i"] = "ī", ["o"] = "ō", ["u"] = "ū", ["y"] = "ȳ"}
return switch[v] or v
end
local alldata = {}
alldata["1-l"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["1-l"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "lunar first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "a"}
data.forms["acc_sg"] = {stem .. "e"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ā"}
data.forms["ins_sg"] = {i and stemi .. "ȳsa" or stem .. "osa"}
data.forms["com_sg"] = {i and stemi .. "ȳma" or stem .. "oma"}
data.forms["voc_sg"] = {i and stemi .. "ȳs" or stem .. "us"}
if not args.nopl then
data.forms["nom_pl"] = {i and stemi .. "ī" or stem .. "i"}
data.forms["acc_pl"] = {i and stemi .. "ī" or stem .. "ī"}
data.forms["gen_pl"] = {i and stemi .. "ȳti" or stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {i and stemi .. "ȳssi" or stem .. "ossi"}
data.forms["com_pl"] = {i and stemi .. "ȳmmi" or stem .. "ommi"}
data.forms["voc_pl"] = {i and stemi .. "īs" or stem .. "is"}
data.forms["nom_pa"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_pa"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_pa"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_pa"] = {i and stemi .. "ȳnta" or stem .. "unta"}
data.forms["loc_pa"] = {i and stemi .. "ȳnna" or stem .. "unna"}
data.forms["ins_pa"] = {i and stemi .. "ȳssa" or stem .. "ussa"}
data.forms["com_pa"] = {i and stemi .. "ȳmma" or stem .. "umma"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ar"}
data.forms["acc_co"] = {stem .. "ari"}
data.forms["gen_co"] = {stem .. "aro"}
data.forms["dat_co"] = {stem .. "arta"}
data.forms["loc_co"] = {stem .. "arra"}
data.forms["ins_co"] = {stem .. "arza"}
data.forms["com_co"] = {stem .. "arma"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["-illa"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["-illa"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "a"}
data.forms["acc_sg"] = {stem .. "e"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ā"}
data.forms["ins_sg"] = {i and stemi .. "ȳsa" or stem .. "osa"}
data.forms["com_sg"] = {i and stemi .. "ȳma" or stem .. "oma"}
data.forms["voc_sg"] = {i and stemi .. "ȳs" or stem .. "us"}
if not args.nopl then
data.forms["nom_pl"] = {i and stemi .. "ī" or stem .. "i"}
data.forms["acc_pl"] = {i and stemi .. "ī" or stem .. "ī"}
data.forms["gen_pl"] = {i and stemi .. "ȳti" or stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {i and stemi .. "ȳssi" or stem .. "ossi"}
data.forms["com_pl"] = {i and stemi .. "ȳmmi" or stem .. "ommi"}
data.forms["voc_pl"] = {i and stemi .. "īs" or stem .. "is"}
data.forms["nom_pa"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_pa"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_pa"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_pa"] = {i and stemi .. "ȳnta" or stem .. "unta"}
data.forms["loc_pa"] = {i and stemi .. "ȳnna" or stem .. "unna"}
data.forms["ins_pa"] = {i and stemi .. "ȳssa" or stem .. "ussa"}
data.forms["com_pa"] = {i and stemi .. "ȳmma" or stem .. "umma"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ar"}
data.forms["acc_co"] = {stem .. "ari"}
data.forms["gen_co"] = {stem .. "aro"}
data.forms["dat_co"] = {stem .. "arta"}
data.forms["loc_co"] = {stem .. "arra"}
data.forms["ins_co"] = {stem .. "arza"}
data.forms["com_co"] = {stem .. "arma"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["1-a"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["1-a"], {__call = function(self, args, data)
local stem = args[1]
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ar"}
data.forms["acc_sg"] = {stemr .. "ri"}
data.forms["gen_sg"] = {stemr .. "ro"}
data.forms["dat_sg"] = {stemr .. "rot"}
data.forms["loc_sg"] = {stem .. "ār"}
data.forms["ins_sg"] = {stemr .. "rosa"}
data.forms["com_sg"] = {stemr .. "roma"}
data.forms["voc_sg"] = {stem .. "us"}
if not args.nopl then
data.forms["nom_pl"] = {stemr .. "ri"}
data.forms["acc_pl"] = {stemr .. "rī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stemr .. "rossi"}
data.forms["com_pl"] = {stemr .. "rommi"}
data.forms["voc_pl"] = {stem .. "is"}
data.forms["nom_pa"] = {stemr .. "run"}
data.forms["acc_pa"] = {stemr .. "runi"}
data.forms["gen_pa"] = {stemr .. "runo"}
data.forms["dat_pa"] = {stemr .. "runta"}
data.forms["loc_pa"] = {stemr .. "runna"}
data.forms["ins_pa"] = {stemr .. "russa"}
data.forms["com_pa"] = {stemr .. "rumma"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stemr .. "rar"}
data.forms["acc_co"] = {stemr .. "rari"}
data.forms["gen_co"] = {stemr .. "raro"}
data.forms["dat_co"] = {stemr .. "rarta"}
data.forms["loc_co"] = {stemr .. "rarra"}
data.forms["ins_co"] = {stemr .. "rarza"}
data.forms["com_co"] = {stemr .. "rarma"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["p-1"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["p-1"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_sg"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_sg"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_sg"] = {i and stemi .. "ȳnta" or stem .. "unta"}
data.forms["loc_sg"] = {i and stemi .. "ȳnna" or stem .. "unna"}
data.forms["ins_sg"] = {i and stemi .. "ȳssa" or stem .. "ussa"}
data.forms["com_sg"] = {i and stemi .. "ȳmma" or stem .. "umma"}
data.forms["voc_sg"] = data.forms["ins_sg"]
if not args.nopl then
data.forms["nom_pl"] = {i and stemi .. "y" or stem .. "i"}
data.forms["acc_pl"] = {i and stemi .. "ī" or stem .. "ī"}
data.forms["gen_pl"] = {}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {}
data.forms["com_pl"] = {}
data.forms["voc_pl"] = {}
end
end
})
alldata["2-l"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["2-l"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "lunar second-declension"
table.insert(data.categories, "High Valyrian second-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "y"}
data.forms["acc_sg"] = {stem .. "i"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ȳ"}
data.forms["ins_sg"] = {stem .. "omy"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = {stem .. "ī"}
data.forms["ins_pl"] = {stem .. "ommi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "ys"}
data.forms["nom_pa"] = {stem .. "yn"}
data.forms["acc_pa"] = {stem .. "yni"}
data.forms["gen_pa"] = {stem .. "yno"}
data.forms["dat_pa"] = {stem .. "ynty"}
data.forms["loc_pa"] = {stem .. "ynny"}
data.forms["ins_pa"] = {stem .. "yssy"}
data.forms["com_pa"] = {stem .. "ymmy"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "yr"}
data.forms["acc_co"] = {stem .. "yri"}
data.forms["gen_co"] = {stem .. "yro"}
data.forms["dat_co"] = {stem .. "yrty"}
data.forms["loc_co"] = {stem .. "yrry"}
data.forms["ins_co"] = {stem .. "yrzy"}
data.forms["com_co"] = {stem .. "yrmy"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["2-s"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["2-s"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "solar second-declension"
table.insert(data.categories, "High Valyrian second-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ys"}
data.forms["acc_sg"] = {stem .. "i"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ȳ"}
data.forms["ins_sg"] = {stem .. "omy"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "yssy"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = {stem .. "ī"}
data.forms["ins_pl"] = {stem .. "ommi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "yssys"}
data.forms["nom_pa"] = {stem .. "yn"}
data.forms["acc_pa"] = {stem .. "yni"}
data.forms["gen_pa"] = {stem .. "yno"}
data.forms["dat_pa"] = {stem .. "ynty"}
data.forms["loc_pa"] = {stem .. "ynny"}
data.forms["ins_pa"] = {stem .. "yssy"}
data.forms["com_pa"] = {stem .. "ymmy"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "yr"}
data.forms["acc_co"] = {stem .. "yri"}
data.forms["gen_co"] = {stem .. "yro"}
data.forms["dat_co"] = {stem .. "yrty"}
data.forms["loc_co"] = {stem .. "yrry"}
data.forms["ins_co"] = {stem .. "yrzy"}
data.forms["com_co"] = {stem .. "yrmy"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-l"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-l"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "lunar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "o"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "ō"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {i and stemi .. "ȳso" or stem .. "oso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {stem .. "os"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "a"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {i and stemi .. "ȳti" or stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {i and stemi .. "ȳssi" or stem .. "ossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {i and stemi .. "īs" or stem .. "as"}
data.forms["nom_pa"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_pa"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_pa"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_pa"] = {i and stemi .. "ȳnto" or stem .. "unto"}
data.forms["loc_pa"] = {i and stemi .. "ȳnno" or stem .. "unno"}
data.forms["ins_pa"] = {i and stemi .. "ȳsso" or stem .. "usso"}
data.forms["com_pa"] = {i and stemi .. "ȳmmo" or stem .. "ummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "or"}
data.forms["acc_co"] = {i and stemi .. "ȳri" or stem .. "ori"}
data.forms["gen_co"] = {i and stemi .. "ȳro" or stem .. "oro"}
data.forms["dat_co"] = {i and stemi .. "ȳrto" or stem .. "orto"}
data.forms["loc_co"] = {i and stemi .. "ȳrro" or stem .. "orro"}
data.forms["ins_co"] = {i and stemi .. "ȳrzo" or stem .. "orzo"}
data.forms["com_co"] = {i and stemi .. "ȳrmo" or stem .. "ormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-s"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-s"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "solar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "os"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {stem .. "oso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "ossas"}
data.forms["nom_pa"] = {stem .. "un"}
data.forms["acc_pa"] = {stem .. "uni"}
data.forms["gen_pa"] = {stem .. "uno"}
data.forms["dat_pa"] = {stem .. "unto"}
data.forms["loc_pa"] = {stem .. "unno"}
data.forms["ins_pa"] = {stem .. "usso"}
data.forms["com_pa"] = {stem .. "ummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "or"}
data.forms["acc_co"] = {stem .. "ori"}
data.forms["gen_co"] = {stem .. "oro"}
data.forms["dat_co"] = {stem .. "orto"}
data.forms["loc_co"] = {stem .. "orro"}
data.forms["ins_co"] = {stem .. "orzo"}
data.forms["com_co"] = {stem .. "ormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-s-k"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-s-k"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "k-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian k-stem " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ks"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "ko"}
data.forms["dat_sg"] = {stem .. "kot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {stem .. "kso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {stem .. "kossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "koti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "kossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "kossas"}
data.forms["nom_pa"] = {stem .. "kun"}
data.forms["acc_pa"] = {stem .. "kuni"}
data.forms["gen_pa"] = {stem .. "kuno"}
data.forms["dat_pa"] = {stem .. "kunto"}
data.forms["loc_pa"] = {stem .. "kunno"}
data.forms["ins_pa"] = {stem .. "kusso"}
data.forms["com_pa"] = {stem .. "kummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "kor"}
data.forms["acc_co"] = {stem .. "kori"}
data.forms["gen_co"] = {stem .. "koro"}
data.forms["dat_co"] = {stem .. "korto"}
data.forms["loc_co"] = {stem .. "korro"}
data.forms["ins_co"] = {stem .. "korzo"}
data.forms["com_co"] = {stem .. "kormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-s-v"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-s-v"], {__call = function(self, args, data)
local stem = nil and "" or args[1]
data.decl_type = "v-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian v-stem " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ȳs"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "yvo"}
data.forms["dat_sg"] = {stem .. "yvot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {stem .. "ȳso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {stem .. "yvossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "yvoti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "yvossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "yvossas"}
data.forms["nom_pa"] = {stem .. "yvun"}
data.forms["acc_pa"] = {stem .. "yvuni"}
data.forms["gen_pa"] = {stem .. "yvuno"}
data.forms["dat_pa"] = {stem .. "yvunto"}
data.forms["loc_pa"] = {stem .. "yvunno"}
data.forms["ins_pa"] = {stem .. "yvusso"}
data.forms["com_pa"] = {stem .. "yvummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "yvor"}
data.forms["acc_co"] = {stem .. "yvori"}
data.forms["gen_co"] = {stem .. "yvoro"}
data.forms["dat_co"] = {stem .. "yvorto"}
data.forms["loc_co"] = {stem .. "yvorro"}
data.forms["ins_co"] = {stem .. "yvorzo"}
data.forms["com_co"] = {stem .. "yvormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-s-h"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-s-h"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "h-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
table.insert(data.categories, "High Valyrian h-stem " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "s"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "ho"}
data.forms["dat_sg"] = {stem .. "hot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {stem .. "so"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {stem .. "hossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "hoti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "hossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "hossas"}
data.forms["nom_pa"] = {stem .. "hun"}
data.forms["acc_pa"] = {stem .. "huni"}
data.forms["gen_pa"] = {stem .. "huno"}
data.forms["dat_pa"] = {stem .. "hunto"}
data.forms["loc_pa"] = {stem .. "hunno"}
data.forms["ins_pa"] = {stem .. "husso"}
data.forms["com_pa"] = {stem .. "hummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "hor"}
data.forms["acc_co"] = {stem .. "hori"}
data.forms["gen_co"] = {stem .. "horo"}
data.forms["dat_co"] = {stem .. "horto"}
data.forms["loc_co"] = {stem .. "horro"}
data.forms["ins_co"] = {stem .. "horzo"}
data.forms["com_co"] = {stem .. "hormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-t"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-t"], {__call = function(self, args, data)
local stem = args[1]
local i = sub(stem, -1) == "i"
local stemi = sub(stem, 1, -2)
data.decl_type = "terrestrial third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "on"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {i and stemi .. "ȳso" or stem .. "oso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {stem .. "os"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "a"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {i and stemi .. "ȳti" or stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {i and stemi .. "ȳssi" or stem .. "ossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {i and stemi .. "īs" or stem .. "as"}
data.forms["nom_pa"] = {i and stemi .. "ȳn" or stem .. "un"}
data.forms["acc_pa"] = {i and stemi .. "ȳni" or stem .. "uni"}
data.forms["gen_pa"] = {i and stemi .. "ȳno" or stem .. "uno"}
data.forms["dat_pa"] = {i and stemi .. "ȳnto" or stem .. "unto"}
data.forms["loc_pa"] = {i and stemi .. "ȳnno" or stem .. "unno"}
data.forms["ins_pa"] = {i and stemi .. "ȳsso" or stem .. "usso"}
data.forms["com_pa"] = {i and stemi .. "ȳmmo" or stem .. "ummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "or"}
data.forms["acc_co"] = {i and stemi .. "ȳndi" or stem .. "ondi"}
data.forms["gen_co"] = {i and stemi .. "ȳndo" or stem .. "ondo"}
data.forms["dat_co"] = data.forms["gen_co"]
data.forms["loc_co"] = {i and stemi .. "ȳrro" or stem .. "orro"}
data.forms["ins_co"] = {i and stemi .. "ȳrzo" or stem .. "orzo"}
data.forms["com_co"] = {i and stemi .. "ȳrmo" or stem .. "ormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["3-a"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["3-a"], {__call = function(self, args, data)
local stem = args[1]
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "or"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stemr .. "ro"}
data.forms["dat_sg"] = {stemr .. "rot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {stemr .. "roso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {stem .. "os"}
if not args.nopl then
data.forms["nom_pl"] = {stemr .. "ra"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stemr .. "roti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stemr .. "rossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {stem .. "as"}
data.forms["nom_pa"] = {stemr .. "run"}
data.forms["acc_pa"] = {stemr .. "runi"}
data.forms["gen_pa"] = {stemr .. "runo"}
data.forms["dat_pa"] = {stemr .. "runto"}
data.forms["loc_pa"] = {stemr .. "runno"}
data.forms["ins_pa"] = {stemr .. "russo"}
data.forms["com_pa"] = {stemr .. "rummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stemr .. "ror"}
data.forms["acc_co"] = {stemr .. "rori"}
data.forms["gen_co"] = {stemr .. "roro"}
data.forms["dat_co"] = {stemr .. "rorto"}
data.forms["loc_co"] = {stemr .. "rorro"}
data.forms["ins_co"] = {stemr .. "rorzo"}
data.forms["com_co"] = {stemr .. "rormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["4-l"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["4-l"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "lunar fourth-declension"
table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "e"}
data.forms["acc_sg"] = {stem .. "ī"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ē"}
data.forms["ins_sg"] = {stem .. "ose"}
data.forms["com_sg"] = {stem .. "ome"}
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ossi"}
data.forms["com_pl"] = {stem .. "ommi"}
data.forms["voc_pl"] = {stem .. "is"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inte"}
data.forms["loc_pa"] = {stem .. "inne"}
data.forms["ins_pa"] = {stem .. "isse"}
data.forms["com_pa"] = {stem .. "imme"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "er"}
data.forms["acc_co"] = {stem .. "eri"}
data.forms["gen_co"] = {stem .. "ero"}
data.forms["dat_co"] = {stem .. "erte"}
data.forms["loc_co"] = {stem .. "erre"}
data.forms["ins_co"] = {stem .. "erze"}
data.forms["com_co"] = {stem .. "erme"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["4-s"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["4-s"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "solar fourth-declension"
table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "es"}
data.forms["acc_sg"] = {stem .. "ī"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ē"}
data.forms["ins_sg"] = {stem .. "ose"}
data.forms["com_sg"] = {stem .. "ome"}
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "esse"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ossi"}
data.forms["com_pl"] = {stem .. "ommi"}
data.forms["voc_pl"] = {stem .. "esses"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inte"}
data.forms["loc_pa"] = {stem .. "inne"}
data.forms["ins_pa"] = {stem .. "isse"}
data.forms["com_pa"] = {stem .. "imme"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "er"}
data.forms["acc_co"] = {stem .. "eri"}
data.forms["gen_co"] = {stem .. "ero"}
data.forms["dat_co"] = {stem .. "erte"}
data.forms["loc_co"] = {stem .. "erre"}
data.forms["ins_co"] = {stem .. "erze"}
data.forms["com_co"] = {stem .. "erme"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["4-t"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["4-t"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "terrestrial fourth-declension"
table.insert(data.categories, "High Valyrian fourth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ien"}
data.forms["acc_sg"] = {stem .. "ī"}
data.forms["gen_sg"] = {stem .. "io"}
data.forms["dat_sg"] = {stem .. "iot"}
data.forms["loc_sg"] = {stem .. "iēn"}
data.forms["ins_sg"] = {stem .. "ȳse"}
data.forms["com_sg"] = {stem .. "ȳme"}
data.forms["voc_sg"] = {stem .. "ies"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ī"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "ȳti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ȳssi"}
data.forms["com_pl"] = {stem .. "ȳmmi"}
data.forms["voc_pl"] = {stem .. "īs"}
data.forms["nom_pa"] = {stem .. "ȳn"}
data.forms["acc_pa"] = {stem .. "ȳni"}
data.forms["gen_pa"] = {stem .. "ȳno"}
data.forms["dat_pa"] = {stem .. "ȳnte"}
data.forms["loc_pa"] = {stem .. "ȳnne"}
data.forms["ins_pa"] = {stem .. "ȳsse"}
data.forms["com_pa"] = {stem .. "ȳmme"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ior"}
data.forms["acc_co"] = {stem .. "ȳndi"}
data.forms["gen_co"] = {stem .. "ȳndo"}
data.forms["dat_co"] = {stem .. "ȳnde"}
data.forms["loc_co"] = {stem .. "ȳrre"}
data.forms["ins_co"] = {stem .. "ȳrze"}
data.forms["com_co"] = {stem .. "ȳrme"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["5-l"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["5-l"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "lunar fifth-declension"
table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "i"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "io"}
data.forms["dat_sg"] = {stem .. "iot"}
data.forms["loc_sg"] = {stem .. "ī"}
data.forms["ins_sg"] = {stem .. "ȳsi"}
data.forms["com_sg"] = {stem .. "ȳmi"}
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "a"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "ȳti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ȳssi"}
data.forms["com_pl"] = {stem .. "ȳmmi"}
data.forms["voc_pl"] = {stem .. "as"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inti"}
data.forms["loc_pa"] = {stem .. "inni"}
data.forms["ins_pa"] = {stem .. "issi"}
data.forms["com_pa"] = {stem .. "immi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ir"}
data.forms["acc_co"] = {stem .. "iri"}
data.forms["gen_co"] = {stem .. "iro"}
data.forms["dat_co"] = {stem .. "irti"}
data.forms["loc_co"] = {stem .. "irri"}
data.forms["ins_co"] = {stem .. "irzi"}
data.forms["com_co"] = {stem .. "irmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["5-s"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["5-s"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "solar fifth-declension"
table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "is"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {stem .. "io"}
data.forms["dat_sg"] = {stem .. "iot"}
data.forms["loc_sg"] = {stem .. "ī"}
data.forms["ins_sg"] = {stem .. "ȳsi"}
data.forms["com_sg"] = {stem .. "ȳmi"}
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "issa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {stem .. "ȳti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ȳssi"}
data.forms["com_pl"] = {stem .. "ȳmmi"}
data.forms["voc_pl"] = {stem .. "issas"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inti"}
data.forms["loc_pa"] = {stem .. "inni"}
data.forms["ins_pa"] = {stem .. "issi"}
data.forms["com_pa"] = {stem .. "immi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ir"}
data.forms["acc_co"] = {stem .. "iri"}
data.forms["gen_co"] = {stem .. "iro"}
data.forms["dat_co"] = {stem .. "irti"}
data.forms["loc_co"] = {stem .. "irri"}
data.forms["ins_co"] = {stem .. "irzi"}
data.forms["com_co"] = {stem .. "irmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["5-a"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["5-a"], {__call = function(self, args, data)
local stem = args[1]
local v = sub(stem, -2, -2)
local stemr = (sub(stem, -1) == "m" and sub(stem, 1, -3) .. lengthen(v) .. "b"
or sub(stem, -1) == "n" and sub(stem, 1, -3) .. lengthen(v) .. "d"
or stem)
local z = sub(stem, -2) == "rz"
local stemz = sub(stem, 1, -3)
data.decl_type = "aquatic fifth-declension"
table.insert(data.categories, "High Valyrian fifth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "ir"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {z and stemz .. "rjio" or stemr .. "rio"}
data.forms["dat_sg"] = {z and stemz .. "rjiot" or stemr .. "riot"}
data.forms["loc_sg"] = {stem .. "īr"}
data.forms["ins_sg"] = {z and stemz .. "rjȳsi" or stemr .. "ȳsi"}
data.forms["com_sg"] = {z and stemz .. "rjȳmi" or stemr .. "ȳmi"}
data.forms["voc_sg"] = {stem .. "ys"}
if not args.nopl then
data.forms["nom_pl"] = {z and stemz .. "rja" or stemr .. "ra"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {z and stemz .. "rjȳti" or stemr .. "rȳti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {z and stemz .. "rjȳssi" or stemr .. "rȳssi"}
data.forms["com_pl"] = {z and stemz .. "rjȳmmi" or stemr .. "rȳmmi"}
data.forms["voc_pl"] = {stem .. "as"}
data.forms["nom_pa"] = {z and stemz .. "rjin" or stemr .. "rin"}
data.forms["acc_pa"] = {z and stemz .. "rjini" or stemr .. "rini"}
data.forms["gen_pa"] = {z and stemz .. "rjino" or stemr .. "rino"}
data.forms["dat_pa"] = {z and stemz .. "rjinti" or stemr .. "rinti"}
data.forms["loc_pa"] = {z and stemz .. "rjinni" or stemr .. "rinni"}
data.forms["ins_pa"] = {z and stemz .. "rjissi" or stemr .. "rissi"}
data.forms["com_pa"] = {z and stemz .. "rjimmi" or stemr .. "rimmi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {z and stemz .. "rjir" or stemr .. "rir"}
data.forms["acc_co"] = {z and stemz .. "rjiri" or stemr .. "riri"}
data.forms["gen_co"] = {z and stemz .. "rjiro" or stemr .. "riro"}
data.forms["dat_co"] = {z and stemz .. "rjirti" or stemr .. "rirti"}
data.forms["loc_co"] = {z and stemz .. "rjirri" or stemr .. "rirri"}
data.forms["ins_co"] = {z and stemz .. "rjirzi" or stemr .. "rirzi"}
data.forms["com_co"] = {z and stemz .. "rjirmi" or stemr .. "rirmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["ōz"] = function(args, data)
data.decl_type = "n-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
table.insert(data.categories, "High Valyrian n-stem nouns")
data.forms["nom_sg"] = {"ōz"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"ono"}
data.forms["dat_sg"] = {"onot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"ōzo"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["nom_pl"] = {"onossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"onoti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"onossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"onossas"}
data.forms["nom_pa"] = {"onun"}
data.forms["acc_pa"] = {"onuni"}
data.forms["gen_pa"] = {"onuno"}
data.forms["dat_pa"] = {"onunto"}
data.forms["loc_pa"] = {"onunno"}
data.forms["ins_pa"] = {"onusso"}
data.forms["com_pa"] = {"onummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"onor"}
data.forms["acc_co"] = {"onori"}
data.forms["gen_co"] = {"onoro"}
data.forms["dat_co"] = {"onorto"}
data.forms["loc_co"] = {"onorro"}
data.forms["ins_co"] = {"onorzo"}
data.forms["com_co"] = {"onormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["Mȳr"] = function(args, data)
data.decl_type = "solar third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"Mȳr"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"Mȳro"}
data.forms["dat_sg"] = {"Mȳrot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"Mȳroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
end
alldata["6"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["6"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "i", stem}
data.forms["acc_sg"] = {stem .. "i"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ī"}
data.forms["ins_sg"] = {stem .. "isi"}
data.forms["com_sg"] = {stem .. "imi"}
data.forms["voc_sg"] = {stem .. "is"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "issi"}
data.forms["com_pl"] = {stem .. "immi"}
data.forms["voc_pl"] = {stem .. "issis"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inti"}
data.forms["loc_pa"] = {stem .. "inni"}
data.forms["ins_pa"] = {stem .. "issi"}
data.forms["com_pa"] = {stem .. "immi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ir"}
data.forms["acc_co"] = {stem .. "iri"}
data.forms["gen_co"] = {stem .. "iro"}
data.forms["dat_co"] = {stem .. "irti"}
data.forms["loc_co"] = {stem .. "irri"}
data.forms["ins_co"] = {stem .. "irzi"}
data.forms["com_co"] = {stem .. "irmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["6-u"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(alldata["6-u"], {__call = function(self, args, data)
local stem = args[1]
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension " .. (data.proper and "proper " or "") .. "nouns")
data.forms["nom_sg"] = {stem .. "i", stem}
data.forms["acc_sg"] = {stem .. "i"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ī"}
data.forms["ins_sg"] = {stem .. "isi"}
data.forms["com_sg"] = {stem .. "imi"}
data.forms["voc_sg"] = {stem .. "is"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "issi"}
data.forms["com_pl"] = {stem .. "immi"}
data.forms["voc_pl"] = {stem .. "issis"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inti"}
data.forms["loc_pa"] = {stem .. "inni"}
data.forms["ins_pa"] = {stem .. "issi"}
data.forms["com_pa"] = {stem .. "immi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "ir"}
data.forms["acc_co"] = {stem .. "iri"}
data.forms["gen_co"] = {stem .. "iro"}
data.forms["dat_co"] = {stem .. "irti"}
data.forms["loc_co"] = {stem .. "irri"}
data.forms["ins_co"] = {stem .. "irzi"}
data.forms["com_co"] = {stem .. "irmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
end
})
alldata["mhysa"] = function(args, data)
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension nouns")
data.forms["nom_sg"] = {"mhysa"}
data.forms["acc_sg"] = {"mhysi"}
data.forms["gen_sg"] = {"mhyso"}
data.forms["dat_sg"] = {"mhysot"}
data.forms["loc_sg"] = {"mhysī"}
data.forms["ins_sg"] = {"mhysisi"}
data.forms["com_sg"] = {"mhysimi"}
data.forms["voc_sg"] = {"mhysis"}
data.forms["nom_pl"] = {"mhysi"}
data.forms["acc_pl"] = {"mhysī"}
data.forms["gen_pl"] = {"mhysoti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"mhysissi"}
data.forms["com_pl"] = {"mhysimmi"}
data.forms["voc_pl"] = {"mhysissis"}
data.forms["nom_pa"] = {"mhysin"}
data.forms["acc_pa"] = {"mhysini"}
data.forms["gen_pa"] = {"mhysino"}
data.forms["dat_pa"] = {"mhysinti"}
data.forms["loc_pa"] = {"mhysinni"}
data.forms["ins_pa"] = {"mhysissi"}
data.forms["com_pa"] = {"mhysimmi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"mhysir"}
data.forms["acc_co"] = {"mhysiri"}
data.forms["gen_co"] = {"mhysiro"}
data.forms["dat_co"] = {"mhysirti"}
data.forms["loc_co"] = {"mhysirri"}
data.forms["ins_co"] = {"mhysirzi"}
data.forms["com_co"] = {"mhysirmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["bianor"] = function(args, data)
data.decl_type = "lunar third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"bianor"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"biādro"}
data.forms["dat_sg"] = {"biādrot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"biādroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"bianos"}
data.forms["nom_pl"] = {"biādra"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"biādroti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"biādrossi"}
data.forms["com_pl"] = {"biādrossi"}
data.forms["voc_pl"] = {"biādras"}
data.forms["nom_pa"] = {"biādrun"}
data.forms["acc_pa"] = {"biādruni"}
data.forms["gen_pa"] = {"biādruno"}
data.forms["dat_pa"] = {"biādrunto"}
data.forms["loc_pa"] = {"biādrunno"}
data.forms["ins_pa"] = {"biādrusso"}
data.forms["com_pa"] = {"biādrummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"biādror"}
data.forms["acc_co"] = {"biādrori"}
data.forms["gen_co"] = {"biādroro"}
data.forms["dat_co"] = {"biādrorto"}
data.forms["loc_co"] = {"biādrorro"}
data.forms["ins_co"] = {"biādrorzo"}
data.forms["com_co"] = {"biādrormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["nāqopsir"] = function(args, data)
data.decl_type = "lunar fifth-declension"
table.insert(data.categories, "High Valyrian fifth-declension nouns")
data.forms["nom_sg"] = {"nāqopsir"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"nāqobjio", "nāqōjio"}
data.forms["dat_sg"] = {"nāqobjiot", "nāqōjiot"}
data.forms["loc_sg"] = {"nāqobjī", "nāqōjī"}
data.forms["ins_sg"] = {"nāqobjȳsi", "nāqōjȳsi"}
data.forms["com_sg"] = {"nāqobjȳmi", "nāqōjȳmi"}
data.forms["voc_sg"] = {"nāqobjys", "nāqōjys"}
data.forms["nom_pl"] = {"nāqobja", "nāqōja"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"nāqobjȳti", "nāqōjȳti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"nāqobjȳssi", "nāqōjȳssi"}
data.forms["com_pl"] = {"nāqobjȳmmi", "nāqōjȳmmi"}
data.forms["voc_pl"] = {"nāqobjas", "nāqōjas"}
data.forms["nom_pa"] = {"nāqobjin", "nāqōjin"}
data.forms["acc_pa"] = {"nāqobjini", "nāqōjini"}
data.forms["gen_pa"] = {"nāqobjino", "nāqōjino"}
data.forms["dat_pa"] = {"nāqobjinti", "nāqōjinti"}
data.forms["loc_pa"] = {"nāqobjinni", "nāqōjinni"}
data.forms["ins_pa"] = {"nāqobjissi", "nāqōjissi"}
data.forms["com_pa"] = {"nāqobjimmi", "nāqōjimmi"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"nāqobjir", "nāqōjir"}
data.forms["acc_co"] = {"nāqobjiri", "nāqōjiri"}
data.forms["gen_co"] = {"nāqobjiro", "nāqōjiro"}
data.forms["dat_co"] = {"nāqobjirti", "nāqōjirti"}
data.forms["loc_co"] = {"nāqobjirri", "nāqōjirri"}
data.forms["ins_co"] = {"nāqobjirzi", "nāqōjirzi"}
data.forms["com_co"] = {"nāqobjirmi", "nāqōjirmi"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["ēs"] = function(args, data)
data.decl_type = "l-stem solar third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
table.insert(data.categories, "High Valyrian l-stem nouns")
data.forms["nom_sg"] = {"ēs"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"elo"}
data.forms["dat_sg"] = {"elot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"ēso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["nom_pl"] = {"elossa"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"eloti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"elossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"elossas"}
data.forms["nom_pa"] = {"elun"}
data.forms["acc_pa"] = {"eluni"}
data.forms["gen_pa"] = {"eluno"}
data.forms["dat_pa"] = {"elunto"}
data.forms["loc_pa"] = {"elunno"}
data.forms["ins_pa"] = {"elusso"}
data.forms["com_pa"] = {"elummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"elor"}
data.forms["acc_co"] = {"elori"}
data.forms["gen_co"] = {"eloro"}
data.forms["dat_co"] = {"elorto"}
data.forms["loc_co"] = {"elorro"}
data.forms["ins_co"] = {"elorzo"}
data.forms["com_co"] = {"elormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["jelmor"] = function(args, data)
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"jelmor"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"jēmbro"}
data.forms["dat_sg"] = {"jēmbrot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"jēmbroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"jelmos"}
data.forms["nom_pl"] = {"jēmbra"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"jēmbroti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"jēmbrossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"jelmas"}
data.forms["nom_pa"] = {"jēmbrun"}
data.forms["acc_pa"] = {"jēmbruni"}
data.forms["gen_pa"] = {"jēmbruno"}
data.forms["dat_pa"] = {"jēmbrunto"}
data.forms["loc_pa"] = {"jēmbrunno"}
data.forms["ins_pa"] = {"jēmbrusso"}
data.forms["com_pa"] = {"jēmbrummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"jēmbror"}
data.forms["acc_co"] = {"jēmbrori"}
data.forms["gen_co"] = {"jēmbroro"}
data.forms["dat_co"] = {"jēmbrorto"}
data.forms["loc_co"] = {"jēmbrorro"}
data.forms["ins_co"] = {"jēmbrorzo"}
data.forms["com_co"] = {"jēmbrormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["Qelbria"] = function(args, data)
data.decl_type = "aquatic first-declension"
table.insert(data.categories, "High Valyrian first-declension nouns")
data.forms["nom_sg"] = {"Qelbria"}
data.forms["acc_sg"] = {"Qelbri"}
data.forms["gen_sg"] = {"Qelbro"}
data.forms["dat_sg"] = {"Qelbrot"}
data.forms["loc_sg"] = {"Qelbrār"}
data.forms["ins_sg"] = {"Qelbrosa"}
data.forms["com_sg"] = {"Qelbroma"}
data.forms["voc_sg"] = {"Qelbrus"}
end
alldata["sēter"] = function(args, data)
data.decl_type = "aquatic third-declension"
table.insert(data.categories, "High Valyrian third-declension nouns")
data.forms["nom_sg"] = {"sēter"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"sētero"}
data.forms["dat_sg"] = {"sēterot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"sēteroso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"sēteros"}
data.forms["nom_pl"] = {"sētera"}
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"sēteroti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {"sēterossi"}
data.forms["com_pl"] = data.forms["ins_pl"]
data.forms["voc_pl"] = {"sēteras"}
data.forms["nom_pa"] = {"sēterun"}
data.forms["acc_pa"] = {"sēteruni"}
data.forms["gen_pa"] = {"sēteruno"}
data.forms["dat_pa"] = {"sēterunto"}
data.forms["loc_pa"] = {"sēterunno"}
data.forms["ins_pa"] = {"sēterusso"}
data.forms["com_pa"] = {"sēterummo"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {"sēteror"}
data.forms["acc_co"] = {"sēterori"}
data.forms["gen_co"] = {"sēteroro"}
data.forms["dat_co"] = {"sēterorto"}
data.forms["loc_co"] = {"sēterorro"}
data.forms["ins_co"] = {"sēterorzo"}
data.forms["com_co"] = {"sēterormo"}
data.forms["voc_co"] = data.forms["ins_co"]
end
alldata["Junkae"] = function(args, data)
data.decl_type = "sixth-declension"
table.insert(data.categories, "High Valyrian sixth-declension proper nouns")
data.forms["nom_sg"] = {"Junkae"}
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"Junkaeho"}
data.forms["dat_sg"] = {"Junkaehot"}
data.forms["loc_sg"] = data.forms["dat_sg"]
data.forms["ins_sg"] = {"Junkaeso"}
data.forms["com_sg"] = data.forms["ins_sg"]
data.forms["voc_sg"] = {"Junkaes"}
end
alldata["nager"] = function(args, data)
local stem = "nager"
data.decl_type = "irregular"
data.forms["nom_sg"] = {stem}
data.forms["acc_sg"] = {stem .. "ī"}
data.forms["gen_sg"] = {stem .. "o"}
data.forms["dat_sg"] = {stem .. "ot"}
data.forms["loc_sg"] = {stem .. "ē"}
data.forms["ins_sg"] = {stem .. "ose"}
data.forms["com_sg"] = {stem .. "ome"}
data.forms["voc_sg"] = {stem .. "ys"}
data.forms["nom_pl"] = {stem .. "i"}
data.forms["acc_pl"] = {stem .. "ī"}
data.forms["gen_pl"] = {stem .. "oti"}
data.forms["dat_pl"] = data.forms["gen_pl"]
data.forms["loc_pl"] = data.forms["gen_pl"]
data.forms["ins_pl"] = {stem .. "ossi"}
data.forms["com_pl"] = {stem .. "ommi"}
data.forms["voc_pl"] = {stem .. "īs"}
data.forms["nom_pa"] = {stem .. "in"}
data.forms["acc_pa"] = {stem .. "ini"}
data.forms["gen_pa"] = {stem .. "ino"}
data.forms["dat_pa"] = {stem .. "inte"}
data.forms["loc_pa"] = {stem .. "inne"}
data.forms["ins_pa"] = {stem .. "isse"}
data.forms["com_pa"] = {stem .. "imme"}
data.forms["voc_pa"] = data.forms["ins_pa"]
data.forms["nom_co"] = {stem .. "er"}
data.forms["acc_co"] = {stem .. "eri"}
data.forms["gen_co"] = {stem .. "ero"}
data.forms["dat_co"] = {stem .. "erte"}
data.forms["loc_co"] = {stem .. "erre"}
data.forms["ins_co"] = {stem .. "erze"}
data.forms["com_co"] = {stem .. "erme"}
data.forms["voc_co"] = data.forms["ins_co"]
end
return alldata