Module:qhv-adj/data: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(10 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 s = sub(stem, -1) == "s"
local stemr = (sub(stem, -2) == "rz" and sub(stem, 1, -2) .. "j" or sub(stem, -1) == "s" and sub(stem, 1, -2) .. "j"
local j = sub(stem, -1) == "j"
or sub(stem, -1) == "j" and stem or sub(stem, -1) == "h" and sub(stem, 1, -2) .. "rh" or stem .. "r")
local stemr = s and sub(stem, 1, -2) .. "j" or j and stem 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 175: 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 sub(stem, -1) == "ñ" 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 ny = sub(stem, -1) == "ñ"
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 stemny = ny and sub(stem, 1, -2) .. "n" or stem
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"}
Line 194: Line 196:
data.forms["voc_l_sg"] = {stem .. "es"}
data.forms["voc_l_sg"] = {stem .. "es"}
data.forms["nom_t_sg"] = {stem .. (ny and "or" or "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 201: 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 .. (ny and "os" or "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 212: Line 214:
data.forms["voc_l_pl"] = {stem .. "is"}
data.forms["voc_l_pl"] = {stem .. "is"}
data.forms["nom_t_pl"] = {stem .. (ny and "ar" or "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 231: 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 .. (ny and "or" or "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 238: 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 .. (ny and "os" or "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 249: 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 .. (ny and "ar" or "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 268: 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 358: Line 360:
local stemm = sub(stem, -1) == "n" and sub(stem, 1, -2) .. "m" or stem
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"] = {stemm .. "pa"}
data.forms["eq"] = {stemm .. "ipa"}
data.forms["comp"] = {stem .. "kta"}
data.forms["comp"] = {stem .. "ikta"}
data.forms["sup"] = {stem .. "je"}
data.forms["sup"] = {stem .. "ije"}
data.forms["nom_l_sg"] = {stem .. "ie"}
data.forms["nom_l_sg"] = {stem .. "ie"}