Mòdul:roa-oca-verb/voler

De Viccionari

La documentació d'ús d'aquest mòdul es pot crear a Mòdul:roa-oca-verb/voler/ús

-- Model de conjugació antiga voler
local p = {}

function p.formes(infinitiu)
	local radical = string.sub(infinitiu, 1, -3)
	local radical2 = string.sub(infinitiu, 1, -5) .. 'ul'
	local forma = {}
	
	forma.ger = {}
	forma.ger[1], forma.ger[2], forma.ger[3] = {}, {}, {}
	forma.ger[1][1] = radical .. "ent"
	forma.ger[2][1] = radical .. "guent"
	forma.ger[3][1] = radical2 .. "lguent"
	
	forma.part = {}
	forma.part[1], forma.part[2], forma.part[3] = {}, {}, {}
	forma.part[1]["m-s"] = radical .. "gut"
	forma.part[2]["m-s"] = radical .. "lgut"
	forma.part[3]["m-s"] = radical2 .. "lgut"
	
	forma["pres-ind"] = {}
	forma["pres-ind"][1] = {}
	forma["pres-ind"][2] = {}
	forma["pres-ind"][1][1] = radical2 .. "l"
	forma["pres-ind"][1][2] = radical .. "s"
	forma["pres-ind"][1][3] = radical
	forma["pres-ind"][1][4] = radical .. "em"
	forma["pres-ind"][1][5] = radical .. "ets"
	forma["pres-ind"][2][5] = radical .. "eu"
	forma["pres-ind"][1][6] = radical .. "en"
	
	forma["imperf-ind"] = {}
	forma["imperf-ind"][1] = {}
	forma["imperf-ind"][2] = {}
	forma["imperf-ind"][1][1] = radical .. "ia"
	forma["imperf-ind"][1][2] = radical .. "ies"
	forma["imperf-ind"][1][3] = radical .. "ia"
	forma["imperf-ind"][1][4] = radical .. "íem"
	forma["imperf-ind"][1][5] = radical .. "íets"
	forma["imperf-ind"][2][5] = radical .. "íeu"
	forma["imperf-ind"][1][6] = radical .. "ien"
	
	forma.pass = {}
	forma.pass[1] = {}
	forma.pass[2] = {}
	forma.pass[3] = {}
	forma.pass[1][1] = radical .. "guí"
	forma.pass[1][2] = radical .. "guist"
	forma.pass[2][2] = radical .. "gueres"
	forma.pass[1][3] = radical .. "ch"
	forma.pass[2][3] = radical .. "gué"
	forma.pass[1][4] = radical .. "guem"
	forma.pass[2][4] = radical .. "guérem"
	forma.pass[1][5] = radical .. "gués"
	forma.pass[2][5] = radical .. "guérets"
	forma.pass[3][5] = radical .. "guéreu"
	forma.pass[1][6] = radical .. "gren"
	forma.pass[2][6] = radical .. "gueren"
	
	forma.fut = {}
	forma.fut[1] = {}
	forma.fut[2] = {}
	forma.fut[3] = {}
	forma.fut[4] = {}
	forma.fut[1][1] = radical .. "ré"
	forma.fut[2][1] = radical .. "dré"
	forma.fut[1][2] = radical .. "ràs"
	forma.fut[2][2] = radical .. "dràs"
	forma.fut[1][3] = radical .. "rà"
	forma.fut[2][3] = radical .. "drà"
	forma.fut[1][4] = radical .. "rem"
	forma.fut[2][4] = radical .. "drem"
	forma.fut[1][5] = radical .. "rets"
	forma.fut[2][5] = radical .. "reu"
	forma.fut[3][5] = radical .. "drets"
	forma.fut[4][5] = radical .. "dreu"
	forma.fut[1][6] = radical .. "ran"
	forma.fut[2][6] = radical .. "dran"
	
	forma.cond = {}
	forma.cond[1] = {}
	forma.cond[2] = {}
	forma.cond[3] = {}
	forma.cond[4] = {}
	forma.cond[1][1] = radical .. "ria"
	forma.cond[2][1] = radical .. "dria"
	forma.cond[1][2] = radical .. "ries"
	forma.cond[2][2] = radical .. "dries"
	forma.cond[1][3] = radical .. "ria"
	forma.cond[2][3] = radical .. "dria"
	forma.cond[1][4] = radical .. "ríem"
	forma.cond[2][4] = radical .. "dríem"
	forma.cond[1][5] = radical .. "ríets"
	forma.cond[2][5] = radical .. "ríeu"
	forma.cond[3][5] = radical .. "dríets"
	forma.cond[4][5] = radical .. "dríeu"
	forma.cond[1][6] = radical .. "rien"
	forma.cond[2][6] = radical .. "drien"
	
	forma["pres-subj"] = {}
	forma["pres-subj"][1] = {}
	forma["pres-subj"][2] = {}
	forma["pres-subj"][3] = {}
	forma["pres-subj"][4] = {}
	forma["pres-subj"][5] = {}
	forma["pres-subj"][6] = {}
	forma["pres-subj"][1][1] = radical2 .. "la"
	forma["pres-subj"][2][1] = radical2 .. "ga"
	forma["pres-subj"][1][2] = radical2 .. "les"
	forma["pres-subj"][2][2] = radical2 .. "gues"
	forma["pres-subj"][1][3] = radical2 .. "la"
	forma["pres-subj"][2][3] = radical2 .. "ga"
	forma["pres-subj"][1][4] = radical2 .. "lam"
	forma["pres-subj"][2][4] = radical2 .. "gam"
	forma["pres-subj"][3][4] = radical2 .. "guem"
	forma["pres-subj"][1][5] = radical2 .. "lats"
	forma["pres-subj"][2][5] = radical2 .. "lau"
	forma["pres-subj"][3][5] = radical2 .. "gats"
	forma["pres-subj"][4][5] = radical2 .. "gau"
	forma["pres-subj"][5][5] = radical2 .. "guets"
	forma["pres-subj"][6][5] = radical2 .. "gueu"
	forma["pres-subj"][1][6] = radical2 .. "len"
	forma["pres-subj"][2][6] = radical2 .. "guen"
	
	forma["imperf-subj"] = {}
	forma["imperf-subj"][1] = {}
	forma["imperf-subj"][2] = {}
	forma["imperf-subj"][3] = {}
	forma["imperf-subj"][4] = {}
	forma["imperf-subj"][5] = {}
	forma["imperf-subj"][1][1] = radical .. "gués"
	forma["imperf-subj"][2][1] = radical .. "gra"
	forma["imperf-subj"][3][1] = radical .. "guera"
	forma["imperf-subj"][1][2] = radical .. "guesses"
	forma["imperf-subj"][2][2] = radical .. "gres"
	forma["imperf-subj"][3][2] = radical .. "gueres"
	forma["imperf-subj"][1][3] = radical .. "gués"
	forma["imperf-subj"][2][3] = radical .. "gra"
	forma["imperf-subj"][3][3] = radical .. "guera"
	forma["imperf-subj"][1][4] = radical .. "guéssem"
	forma["imperf-subj"][2][4] = radical .. "grem"
	forma["imperf-subj"][3][4] = radical .. "guérem"
	forma["imperf-subj"][1][5] = radical .. "guéssets"
	forma["imperf-subj"][2][5] = radical .. "guésseu"
	forma["imperf-subj"][3][5] = radical .. "grets"
	forma["imperf-subj"][4][5] = radical .. "guérets"
	forma["imperf-subj"][5][5] = radical .. "guéreu"
	forma["imperf-subj"][1][6] = radical .. "guessen"
	forma["imperf-subj"][2][6] = radical .. "gren"
	forma["imperf-subj"][3][6] = radical .. "gueren"
	
	local function copyImp(temps, pers_from, pers_to)
		local i = 1
		while forma[temps][i] and forma[temps][i][pers_from] do
			if forma.imp[i] == nil then
				forma.imp[i] = {}
			end
			forma.imp[i][pers_to] = forma[temps][i][pers_from]
			i = i + 1
		end
	end
	
	forma.imp = {}
	copyImp("pres-subj", 2, 2)
	copyImp("pres-subj", 3, 3)
	copyImp("pres-subj", 4, 4)
	copyImp("pres-subj", 5, 5)
	copyImp("pres-subj", 6, 6)
	
	return forma
end

return p