Модуль:Песочница/Gyfto/descendant
Перейти к навигации
Перейти к поиску
Документация
local export = {}
local listToSet = require("Модуль:table/listToSet")
-- Параметры, которые изменяют термин-потомок (также поддерживается {{l}}, {{m}}). Не включает gloss=, к которому мы
-- обращаемся специально.
local param_term_mods = {"alt", "g", "id", "lit", "pos", "sc", "t", "tr", "ts"}
local param_term_mod_set = listToSet(param_term_mods)
-- Логические параметры, указывающие, являются ли термины-потомки (или все термины) определенными видами заимствований.
local bortypes = {"inh", "bor", "lbor", "slb", "obor", "translit", "der", "clq", "pclq", "sml", "unc"}
local bortype_set = listToSet(bortypes)
-- Псевдонимы clq=.
local calque_aliases = {"cal", "calq", "calque"}
local calque_alias_set = listToSet(calque_aliases)
-- Псевдонимы pclq=.
local partial_calque_aliases = {"pcal", "pcalq", "pcalque"}
local partial_calque_alias_set = listToSet(partial_calque_aliases)
-- Разные параметры списка.
local misc_list_params = {"q", "qq", "tag"}
local misc_list_param_set = listToSet(misc_list_params)
local function desc_or_desc_tree(frame, desc_tree)
local params
if desc_tree then
params = {
[1] = {required = true, default = "gem-pro"},
[2] = {required = true, list = true, allow_holes = true, default = "*fuhsaz"},
["notext"] = {type = "boolean"},
["noalts"] = {type = "boolean"},
["noparent"] = {type = "boolean"},
}
else
params = {
[1] = {required = true},
[2] = {list = true, allow_holes = true},
["alts"] = {type = "boolean"}
}
end
return param_term_mod_set
end
function export.descendant(frame)
return desc_or_desc_tree(frame, false)
end
function export.descendants_tree(frame)
return desc_or_desc_tree(frame, true)
end
return export