Module:qhv-adj/data: Difference between revisions
No edit summary |
No edit summary |
||
| (31 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
local sub = mw.ustring.sub | local sub = mw.ustring.sub | ||
local gsub = mw.ustring.gsub | |||
local d = {} | local d = {} | ||
| Line 10: | Line 11: | ||
setmetatable(d["I"], {__call = function(self, args, data) | setmetatable(d["I"], {__call = function(self, args, data) | ||
local stem = args[1] | local stem = args[1] | ||
local stemr = (sub(stem, -2) == "rz" and sub(stem, 1, -2) .. "j" or sub(stem, -1) == "s" and sub(stem, 1, -2) .. "j" | |||
or sub(stem, -1) == "j" and stem or sub(stem, -1) == "h" and sub(stem, 1, -2) .. "rh" or stem .. "r") | |||
data.decl_type = "I" | data.decl_type = "I" | ||
table.insert(data.categories, "High Valyrian class-I adjectives") | if not data.no_cat then table.insert(data.categories, "High Valyrian class-I adjectives") end | ||
data.forms["eq"] = {stem .. "āpa"} | data.forms["eq"] = {stem .. "āpa"} | ||
| Line 47: | Line 50: | ||
data.forms["nom_a_sg"] = {stem .. "or"} | data.forms["nom_a_sg"] = {stem .. "or"} | ||
data.forms["acc_a_sg"] = data.forms["nom_a_sg"] | data.forms["acc_a_sg"] = data.forms["nom_a_sg"] | ||
data.forms["gen_a_sg"] = { | data.forms["gen_a_sg"] = {stemr .. "o"} | ||
data.forms["dat_a_sg"] = { | data.forms["dat_a_sg"] = {stemr .. "o", stemr .. "ot"} | ||
data.forms["loc_a_sg"] = data.forms["dat_a_sg"] | data.forms["loc_a_sg"] = data.forms["dat_a_sg"] | ||
data.forms["ins_a_sg"] = { | data.forms["ins_a_sg"] = {stemr .. "os"} | ||
data.forms["com_a_sg"] = { | data.forms["com_a_sg"] = {stemr .. "on", stemr .. "om"} | ||
data.forms["voc_a_sg"] = {stem .. "os"} | data.forms["voc_a_sg"] = {stem .. "os"} | ||
| Line 81: | Line 84: | ||
data.forms["voc_t_pl"] = {stem .. "as"} | data.forms["voc_t_pl"] = {stem .. "as"} | ||
data.forms["nom_a_pl"] = { | data.forms["nom_a_pl"] = {stemr .. "a"} | ||
data.forms["acc_a_pl"] = data.forms["nom_a_pl"] | data.forms["acc_a_pl"] = data.forms["nom_a_pl"] | ||
data.forms["gen_a_pl"] = { | data.forms["gen_a_pl"] = {stemr .. "o", stemr .. "ot"} | ||
data.forms["dat_a_pl"] = data.forms["gen_a_pl"] | data.forms["dat_a_pl"] = data.forms["gen_a_pl"] | ||
data.forms["loc_a_pl"] = data.forms["gen_a_pl"] | data.forms["loc_a_pl"] = data.forms["gen_a_pl"] | ||
data.forms["ins_a_pl"] = { | data.forms["ins_a_pl"] = {stemr .. "os"} | ||
data.forms["com_a_pl"] = { | data.forms["com_a_pl"] = {stemr .. "on", stemr .. "om"} | ||
data.forms["voc_a_pl"] = {stem .. "as"} | data.forms["voc_a_pl"] = {stem .. "as"} | ||
| Line 120: | Line 123: | ||
data.forms["post_nom_a_sg"] = {stem .. "or"} | data.forms["post_nom_a_sg"] = {stem .. "or"} | ||
data.forms["post_acc_a_sg"] = data.forms["post_nom_a_sg"] | data.forms["post_acc_a_sg"] = data.forms["post_nom_a_sg"] | ||
data.forms["post_gen_a_sg"] = { | data.forms["post_gen_a_sg"] = {stemr .. "o"} | ||
data.forms["post_dat_a_sg"] = { | data.forms["post_dat_a_sg"] = {stemr .. "ot"} | ||
data.forms["post_loc_a_sg"] = data.forms["post_dat_a_sg"] | data.forms["post_loc_a_sg"] = data.forms["post_dat_a_sg"] | ||
data.forms["post_ins_a_sg"] = { | data.forms["post_ins_a_sg"] = {stemr .. "oso"} | ||
data.forms["post_com_a_sg"] = { | data.forms["post_com_a_sg"] = {stemr .. "omo"} | ||
data.forms["post_voc_a_sg"] = {stem .. "os"} | data.forms["post_voc_a_sg"] = {stem .. "os"} | ||
| Line 154: | Line 157: | ||
data.forms["post_voc_t_pl"] = {stem .. "as"} | data.forms["post_voc_t_pl"] = {stem .. "as"} | ||
data.forms["post_nom_a_pl"] = { | data.forms["post_nom_a_pl"] = {stemr .. "a"} | ||
data.forms["post_acc_a_pl"] = data.forms["post_nom_a_pl"] | data.forms["post_acc_a_pl"] = data.forms["post_nom_a_pl"] | ||
data.forms["post_gen_a_pl"] = { | data.forms["post_gen_a_pl"] = {stemr .. "oti"} | ||
data.forms["post_dat_a_pl"] = data.forms["post_gen_a_pl"] | data.forms["post_dat_a_pl"] = data.forms["post_gen_a_pl"] | ||
data.forms["post_loc_a_pl"] = data.forms["post_gen_a_pl"] | data.forms["post_loc_a_pl"] = data.forms["post_gen_a_pl"] | ||
data.forms["post_ins_a_pl"] = { | data.forms["post_ins_a_pl"] = {stemr .. "ossi"} | ||
data.forms["post_com_a_pl"] = { | data.forms["post_com_a_pl"] = {stemr .. "ommi"} | ||
data.forms["post_voc_a_pl"] = {stem .. "as"} | data.forms["post_voc_a_pl"] = {stem .. "as"} | ||
end | end | ||
| Line 172: | Line 175: | ||
setmetatable(d["II"], {__call = function(self, args, data) | setmetatable(d["II"], {__call = function(self, args, data) | ||
local stem = args[1] | local stem = args[1] | ||
local stemm = sub(stem, -1) == "n" and sub(stem, 1, -2) .. "m" or stem | local stemj = sub(stem, -2) == "sr" and sub(stem, 1, -3) .. "r" or sub(stem, -2) == "ēj" and sub(stem, 1, -3) .. "ī" or stem | ||
local stemm = sub(stem, -1) == "n" and sub(stem, 1, -2) .. "m" or sub(stem, -1) == "ñ" and sub(stem, 1, -2) .. "m" or stemj | |||
local ny = sub(stem, -1) == "ñ"; local j = sub(stem, -1) == "j" | |||
local stemny = ny and sub(stem, 1, -2) .. "n" or stemj | |||
data.decl_type = "II" | data.decl_type = "II" | ||
table.insert(data.categories, "High Valyrian class-II adjectives") | if not data.no_cat then table.insert(data.categories, "High Valyrian class-II adjectives") end | ||
data.forms["eq"] = {stemm .. "pa"} | data.forms["eq"] = {stemm .. "pa"} | ||
data.forms["comp"] = { | data.forms["comp"] = {stemny .. "kta"} | ||
data.forms["sup"] = { | data.forms["sup"] = {stemny .. "je"} | ||
data.forms["nom_l_sg"] = {stem .. "e"} | data.forms["nom_l_sg"] = {stem .. "e"} | ||
| Line 189: | Line 196: | ||
data.forms["voc_l_sg"] = {stem .. "es"} | data.forms["voc_l_sg"] = {stem .. "es"} | ||
data.forms["nom_t_sg"] = {stem .. "ior"} | data.forms["nom_t_sg"] = {stem .. ((ny or j) and "or" or "ior")} | ||
data.forms["acc_t_sg"] = data.forms["nom_t_sg"] | data.forms["acc_t_sg"] = data.forms["nom_t_sg"] | ||
data.forms["gen_t_sg"] = {stem .. "ȳr"} | data.forms["gen_t_sg"] = {stem .. "ȳr"} | ||
| Line 196: | Line 203: | ||
data.forms["ins_t_sg"] = {stem .. "ȳs"} | data.forms["ins_t_sg"] = {stem .. "ȳs"} | ||
data.forms["com_t_sg"] = {stem .. "ȳn", stem .. "ȳm"} | data.forms["com_t_sg"] = {stem .. "ȳn", stem .. "ȳm"} | ||
data.forms["voc_t_sg"] = {stem .. "ios"} | data.forms["voc_t_sg"] = {stem .. ((ny or j) and "os" or "ios")} | ||
data.forms["nom_l_pl"] = {stem .. "i"} | data.forms["nom_l_pl"] = {stem .. "i"} | ||
| Line 207: | Line 214: | ||
data.forms["voc_l_pl"] = {stem .. "is"} | data.forms["voc_l_pl"] = {stem .. "is"} | ||
data.forms["nom_t_pl"] = {stem .. "iar"} | data.forms["nom_t_pl"] = {stem .. ((ny or j) and "ar" or "iar")} | ||
data.forms["acc_t_pl"] = data.forms["nom_t_pl"] | data.forms["acc_t_pl"] = data.forms["nom_t_pl"] | ||
data.forms["gen_t_pl"] = {stem .. "ȳ", stem .. "ȳt"} | data.forms["gen_t_pl"] = {stem .. "ȳ", stem .. "ȳt"} | ||
| Line 226: | Line 233: | ||
data.forms["post_voc_l_sg"] = {stem .. "es"} | data.forms["post_voc_l_sg"] = {stem .. "es"} | ||
data.forms["post_nom_t_sg"] = {stem .. "ior"} | data.forms["post_nom_t_sg"] = {stem .. ((ny or j) and "or" or "ior")} | ||
data.forms["post_acc_t_sg"] = data.forms["post_nom_t_sg"] | data.forms["post_acc_t_sg"] = data.forms["post_nom_t_sg"] | ||
data.forms["post_gen_t_sg"] = {stem .. "ȳro"} | data.forms["post_gen_t_sg"] = {stem .. "ȳro"} | ||
| Line 233: | Line 240: | ||
data.forms["post_ins_t_sg"] = {stem .. "ȳso"} | data.forms["post_ins_t_sg"] = {stem .. "ȳso"} | ||
data.forms["post_com_t_sg"] = {stem .. "ȳmo"} | data.forms["post_com_t_sg"] = {stem .. "ȳmo"} | ||
data.forms["post_voc_t_sg"] = {stem .. "ios"} | data.forms["post_voc_t_sg"] = {stem .. ((ny or j) and "os" or "ios")} | ||
data.forms["post_nom_l_pl"] = {stem .. "i"} | data.forms["post_nom_l_pl"] = {stem .. "i"} | ||
| Line 244: | Line 251: | ||
data.forms["post_voc_l_pl"] = {stem .. "is"} | data.forms["post_voc_l_pl"] = {stem .. "is"} | ||
data.forms["post_nom_t_pl"] = {stem .. "iar"} | data.forms["post_nom_t_pl"] = {stem .. ((ny or j) and "ar" or "iar")} | ||
data.forms["post_acc_t_pl"] = data.forms["post_nom_t_pl"] | data.forms["post_acc_t_pl"] = data.forms["post_nom_t_pl"] | ||
data.forms["post_gen_t_pl"] = {stem .. "ȳti"} | data.forms["post_gen_t_pl"] = {stem .. "ȳti"} | ||
| Line 263: | Line 270: | ||
local stem = args[1] | local stem = args[1] | ||
data.decl_type = "IIr" | data.decl_type = "IIr" | ||
table.insert(data.categories, "High Valyrian class-IIr adjectives") | if not data.no_cat then table.insert(data.categories, "High Valyrian class-IIr adjectives") end | ||
data.forms["eq"] = {stem .. "rpa"} | data.forms["eq"] = {stem .. "rpa"} | ||
| Line 351: | Line 358: | ||
setmetatable(d["III"], {__call = function(self, args, data) | setmetatable(d["III"], {__call = function(self, args, data) | ||
local stem = args[1] | local stem = args[1] | ||
local stemm = sub(stem, -1) == "n" and sub(stem, 1, -2) .. "m" or stem | |||
data.decl_type = "III" | data.decl_type = "III" | ||
table.insert(data.categories, "High Valyrian class-III adjectives") | if not data.no_cat then table.insert(data.categories, "High Valyrian class-III adjectives") end | ||
data.forms["eq"] = { | data.forms["eq"] = {stemm .. "ipa"} | ||
data.forms["comp"] = {stem .. " | data.forms["comp"] = {stem .. "ikta"} | ||
data.forms["sup"] = {stem .. " | data.forms["sup"] = {stem .. "ije"} | ||
data.forms["nom_l_sg"] = {stem .. "ie"} | data.forms["nom_l_sg"] = {stem .. "ie"} | ||