Module:grc-decl/params
- The following documentation is located at Module:grc-decl/params/documentation. [edit] Categories were auto-generated by Module:module categorization. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
This module returns the lists of parameters used by {{grc-decl}}
and {{grc-adecl}}
.
local m_table = require("Module:table")
local deepcopy = m_table.deepcopy
local genders = { 'M', 'F', 'N' }
local cases = { 'N', 'G', 'D', 'A', 'V' }
local numbers = { 'S', 'D', 'P' }
local noun_params = {
[1] = {},
[2] = {},
dial = { default = 'att' },
form = { default = 'full' },
voc = {}, -- if "α", means that first-declension masculine has vocative in -ᾰ
notes = {},
note = { alias_of = "notes" },
['notes1'] = {},
['notes2'] = {},
titleapp = {},
['titleapp1'] = {},
['titleapp2'] = {},
}
for _, c in ipairs(cases) do
for _, n in ipairs(numbers) do
noun_params[c .. n] = {}
noun_params[c .. n .. 1] = {}
noun_params[c .. n .. 2] = {}
end
end
local irreg_noun_params, irreg_N_noun_params = deepcopy(noun_params), deepcopy(noun_params)
for i = 3, 9 do
irreg_N_noun_params[i] = {}
end
for i = 3, 12 do
irreg_noun_params[i] = {}
end
local adj_params = {
[1] = {},
[2] = {},
dial = { default = 'att' },
form = { default = '' },
notes = {},
['notes1'] = {},
['notes2'] = {},
titleapp = {},
['titleapp1'] = {},
['titleapp2'] = {},
title = {},
adv = {},
['adv1'] = {},
['adv2'] = {},
deg = {},
comp = {},
['comp1'] = {},
['comp2'] = {},
super = {},
['super1'] = {},
['super2'] = {},
hp = { type = "boolean" },
}
for _, g in ipairs(genders) do
for _, c in ipairs(cases) do
for _, n in ipairs(numbers) do
adj_params[g .. c .. n] = {}
adj_params[g .. c .. n .. 1] = {}
adj_params[g .. c .. n .. 2] = {}
end
end
end
local irreg_adj_params = deepcopy(adj_params)
for i = 3, 25 do
irreg_adj_params[i] = {}
end
return {
noun_params = noun_params,
irreg_noun_params = irreg_noun_params,
irreg_N_noun_params = irreg_N_noun_params,
adj_params = adj_params,
irreg_adj_params = irreg_adj_params,
}