Module:category tree/poscatboiler/data/lang-specific/ine-pro

local labels = {} local handlers = {}

- Verbs

local verb_conjs = { {"imperfective", { {"dʰh₁e-present", "ending in a thematic suffix <-dʰh₁e> in the present, which forms resultative verbs"}, {"eh₁-stative", "ending in an athematic suffix <-eh₁> in the present, which forms inchoative (or fientive) verbs from perfective roots or nominals", "This ending, or its thematized derivative, was highly productive in several daughter languages, becoming for example the verbs, the class 3 weak Germanic verbs and the Slavic verbs in ." },		{"i-reduplicated root athematic", "whose present is of the form "}, {"i-reduplicated root thematic", "whose present is of the form "}, {"lengthened-grade root athematic", "with a lengthened stressed <ē> vowel in the present (also known as Narten presents)"}, {"nasal-infixed present", "whose present is of the athematic form , i.e. with an infixed  that does not appear outside the present stem"}, {"nu-present", "whose present ends in athematic <-néwti> (<-nu-> in the dual and plural)", "These verbs originated as nasal-infix verbs, but took on a life of their own in several daughter languages." },		{"reduplicated root athematic", "whose present is of the form "}, {"root athematic", "whose present is of the form "}, {"root thematic", "whose present is of the form ", "Many of these verbs were thematized from originally athematic formations. Contrast zero-grade root thematic verbs, which have stress on the thematic ending and zero grade in the root." },		{"sḱe-present", "whose present ends in thematic <-sḱéti> with zero grade in the root"}, {"ye-denominative", "whose present ends in thematic <-yéti> added onto the stem of a noun"}, {"ye-present", "whose present ends in thematic <-yeti> with stressed -grade in the root", "Contrast zero-grade ye-present verbs, which have stress on the thematic ending and zero grade in the root." },		{"zero-grade root thematic", "whose present is of the form  with zero grade in the root (also known as tudati-presents)", "Contrast (e-grade) root thematic verbs, which have stress on the root with root -grade." },		{"zero-grade ye-present", "whose present ends in thematic <-yéti> with zero grade in the root", "Contrast (unstressed) ye-present verbs, which have stress on the root with root -grade." },	}},	{"perfective", { {"reduplicated root thematic aorist", "whose aorist is of the form "}, {"root athematic aorist", "whose aorist is of the form "}, {"root thematic aorist", "whose aorist is of the form ", "These are analogous to zero-grade root thematic present verbs (so-called tudati-present verbs)." },		{"s-aorist", "whose aorist is formed with an athematic <-s-> suffix, with lengthened <ē>-grade in the root", "Compare lengthened-grade root athematic present verbs (so-called Narten-present verbs)." },		{"zero-grade root athematic aorist", "whose aorist is of the form ", "Note that one of the consonants of the root must necessarily be a vocalized resonant <-R̥->, which bears the stress." },		{"zero-grade root thematic aorist", "whose aorist is of the form "}, }},	{"stative", { {"reduplicated root perfect", "whose perfect is of the form <C₁eC₁óC₂e>"}, {"root perfect", "whose perfect is of the form <C₁óC₂e>, without reduplication"}, }}, }

for _, verb_type_spec in ipairs(verb_conjs) do	local verb_type, verb_specs = unpack(verb_type_spec) for _, verb_spec in ipairs(verb_specs) do		local verb_subtype, desc, addl = unpack(verb_spec) local function format_desc(ending) return (ending:gsub("<(.-)>", "")) end labels[verb_subtype .. " verbs"] = { description = (" %s verbs, %s."):format(verb_subtype, format_desc(desc)), additional = addl and format_desc(addl) or nil, breadcrumb = verb_subtype, parents = {verb_type .. " verbs"}, }	end end

- Nouns/Pronouns/Numerals

local noun_decls = { {"acrostatic", "These nouns have the accent on the first syllable of the stem in all cases. The difference between the direct and oblique cases is expressed with different ablaut grades of the stem.", { {"i-stem", "<-óCis>", "<-éCis>"}, {"neuter men-stem", "<-óCmn̥>", "<-éCmn̥s>"}, {"r-stem", "<-éCēr>", "<-éCr̥s>"}, {"neuter r/n-stem", "<-óCr̥>", "<-éCn̥s>"}, {"root", "<-óCs>", "<-Crés>"}, {"neuter root", "<-V́Cōr>", "<-Crés>"}, {"neuter s-stem", "<-éCos>", "<-éCesos>"}, {"neuter u-stem", "<-V́Cōr>", "<-Crés>"}, }},	{"amphikinetic", "These nouns have the accent on the first syllable of the stem in the direct cases, and on the inflectional endings in the oblique cases.", { {"i-stem", "<-éCis>", "<-Cyés>"}, {"m-stem", "<-éCōm>", "<-Cmés>"}, {"men-stem", "<-éCmō>", "<-Cm̥nés>"}, {"n-stem", "<-éCō>", "<-Cnés>"}, {"r-stem", "<-éCōr> or <-éCōl>", "<-Crés> or <-Clés>"}, {"neuter r/n-stem", "<-éCr̥> or <-óCr̥>", "<-Cnés>"}, {"root", "<-éCs> or <-óCs> or <-ḗR> or <-ṓR>", "<-Cés> or <-Rés>"}, {"neuter root", "<-éC>", "<-Cés>"}, {"u-stem", "<-éCus>", "<-Cwés>"}, {"neuter u-stem", "<-éCu>", "<-Cwés>"}, }},	{"hysterokinetic", "These nouns have the accent on the final syllable of the stem in the direct cases, and on the inflectional endings in the oblique cases.", { {"men-stem", "<-mḗn>", "<-m̥nés>"}, {"n-stem", "<-eRCḗn> or <-R̥Cḗn>", "<-R̥Cnés>"}, {"r-stem", "<-ḗr>", "<-rés>"}, {"root", "<-éCs> or <-ḗR>", "<-Cés> or <-Rés>"}, }},	{"proterokinetic", "These nouns have the accent on the penultimate syllable of the stem in the direct cases, and on the final syllable of the stem in the oblique cases. The inflectional ending is never accented.", { {"i-stem", "<-éRCis>", "<-R̥Céys>"}, {"neuter i-stem", "<-óCi>", "<-Céys>"}, {"ih₂-stem", "<-éCih₂>", "<-Cyéh₂s>"}, {"neuter men-stem", "<-éCmn̥>", "<-Cméns>"}, {"neuter r/n-stem", "<-éCr̥> or <-óCr̥>", "<-Céns>"}, {"root", "<-éCs>", "<-Cés>"}, {"neuter root", "<-éCC> or <-óCC>", "<-CéCs>"}, {"ti-stem", "<-éCtis>", "<-Ctéys>"}, {"tu-stem", "<-éCtus>", "<-Ctéws>"}, {"u-stem", "<-éCus>", "<-Céws>"}, {"neuter u-stem", "<-éCu> or <-óCu>", "<-Céws>"}, }},	{"thematic", 'These nouns contain a \"theme vowel\" between the stem and the ending, and show no stem ablaut or accent shifts.', { {"eh₂-stem", "<-eh₂> or <-éh₂>", "<-eh₂s> or <-éh₂s>", desc=" nouns that contain a thematic vowel augmented with the feminine suffix *-h₂-.", addl="These nouns are thematic in terms of accent class, having the same grade and accent throughout the paradigm. The endings, however, are athematic." },		{"o-stem", "<-os> or <-ós>", "<-osyo> or <-ósyo>"}, {"neuter o-stem", "<-om> or <-óm>", "<-osyo> or <-ósyo>"}, }}, }

for _, pos in ipairs({"nouns"}) do labels["thematic " .. pos] = { description = " " .. pos .. ' that contain a "theme vowel" between the stem and the ending, and show no stem ablaut or accent shifts.', breadcrumb = "thematic", parents = {pos .. " by inflection type"}, }	labels["athematic " .. pos] = { description = " " .. pos .. ' that have no "theme vowel" between the stem and the ending, and usually show stem ablaut and an accent shift.', breadcrumb = "athematic", parents = {pos .. " by inflection type"}, }	for _, noun_type_spec in ipairs(noun_decls) do		local noun_type, type_addl, noun_specs = unpack(noun_type_spec) if noun_type ~= "thematic" then labels[noun_type .. " " .. pos] = { description = " " .. noun_type .. " " .. pos .. ".",				additional = type_addl, breadcrumb = noun_type, parents = {"athematic " .. pos}, }		end for _, noun_spec in ipairs(noun_specs) do			local noun_stem, nom_ending, gen_ending = unpack(noun_spec) local function format_stem(stem) return (stem:gsub("([^ ]*)%-stem", "%1-stem")) end local function format_ending(ending) return (ending:gsub("<(.-)>", "")) end local label = noun_type .. " " .. noun_stem .. " " .. pos local italicized_label = " " .. noun_type .. " " .. format_stem(noun_stem) .. " " .. pos labels[label] = { description = noun_spec.desc or italicized_label .. ".",				additional = ("These %s typically end in %s in the nominative singular and %s in the genitive singular."):format(					pos, format_ending(nom_ending), format_ending(gen_ending)), breadcrumb = {name = format_stem(noun_stem), nocap = not noun_stem:find("^neuter ")}, displaytitle = italicized_label, parents = , }		end end end

- Adjectives

labels["athematic adjectives"] = { description = " athematic adjectives.", additional = 'These adjectives have no "theme vowel" between the stem and the ending, and usually show stem ablaut and an accent shift.', breadcrumb = "athematic", parents = {"adjectives"}, } labels["thematic adjectives"] = { description = " thematic adjectives.", additional = 'These adjectives contain a "theme vowel" between the stem and the ending, and show no stem ablaut or accent shifts.', breadcrumb = "thematic", parents = {"adjectives"}, }

local adj_descs = { {"amphikinetic", "These adjectives have the accent on the first syllable of the stem in the direct cases, and on the inflectional endings in the oblique cases." },	{"hysterokinetic", "These adjectives have the accent on the final syllable of the stem in the direct cases, and on the inflectional endings in the oblique cases." },	{"proterokinetic", "These adjectives have the accent on the penultimate syllable of the stem in the direct cases, and on the final syllable of the stem in the oblique cases. The inflectional ending is never accented." }, }

for _, adj_spec in ipairs(adj_descs) do	local adj_type, addl = unpack(adj_spec) labels[adj_type .. " adjectives"] = { description = " " .. adj_type .. " adjectives.", additional = addl, breadcrumb = adj_type, parents = {"athematic adjectives"}, } end

- Roots

local root_descs = { {"adjectival", " roots that form primary adjectives, often according to the ."}, {"homonymic", " roots that have multiple, seemingly unrelated meanings."}, {"imperfective", " roots whose default aspect is imperfective, durative, present tense."}, {"perfective", " roots whose default aspect is perfective, punctual, aoristic."}, {"stative", " roots whose default aspect is stative, perfect."}, } labels["irregular-shape roots"] = { description = " roots with a shape that violates the known rules on root shapes.", breadcrumb = "irregular-shape", parents = , } labels["roots with s-mobile"] = { topright = "", description = " roots with a mobile s at the beginning, which may or may not appear (typically with one variant predominating in a given daughter).", breadcrumb = {name = "s-mobile", nocap = true}, parents = , }

for _, root_spec in ipairs(root_descs) do	local root_type, desc = unpack(root_spec) labels[root_type .. " roots"] = { description = desc, breadcrumb = root_type, parents = {"roots"}, } end

- Misc

labels["entries with more than one part of speech"] = { description = "This category is added by Module:reconstruction, which is invoked by reconstruction.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true, }

return {LABELS = labels, HANDLERS = handlers}