Mòdul:roa-oca-verb/esser

De Viccionari

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

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

function p.formes(infinitiu)
	local forma = {}
	
	forma.ger = {}
	forma.ger[1] = {}
	forma.ger[1][1] = "essent"
	
	forma.part = {}
	forma.part[1] = {}
	forma.part[1]["m-s"] = "estat"
	
	forma["pres-ind"] = {}
	forma["pres-ind"][1] = {}
	forma["pres-ind"][2] = {}
	forma["pres-ind"][3] = {}
	forma["pres-ind"][4] = {}
	forma["pres-ind"][1][1] = "som"
	forma["pres-ind"][2][1] = "só"
	forma["pres-ind"][3][1] = "sóc"
	forma["pres-ind"][4][1] = "són"
	forma["pres-ind"][1][2] = "est"
	forma["pres-ind"][2][2] = "ets"
	forma["pres-ind"][1][3] = "és"
	forma["pres-ind"][1][4] = "som"
	forma["pres-ind"][1][5] = "sots"
	forma["pres-ind"][2][5] = "sou"
	forma["pres-ind"][1][6] = "són"
	
	forma["imperf-ind"] = {}
	forma["imperf-ind"][1] = {}
	forma["imperf-ind"][2] = {}
	forma["imperf-ind"][1][1] = "era"
	forma["imperf-ind"][1][2] = "eres"
	forma["imperf-ind"][1][3] = "era"
	forma["imperf-ind"][1][4] = "érem"
	forma["imperf-ind"][1][5] = "érets"
	forma["imperf-ind"][2][5] = "éreu"
	forma["imperf-ind"][1][6] = "eren"
	
	forma.pass = {}
	forma.pass[1] = {}
	forma.pass[2] = {}
	forma.pass[3] = {}
	forma.pass[4] = {}
	forma.pass[5] = {}
	forma.pass[1][1] = "fuy"
	forma.pass[2][1] = "fo"
	forma.pass[3][1] = "fon"
	forma.pass[4][1] = "fonch"
	forma.pass[5][1] = "fou"
	forma.pass[1][2] = "fuist"
	forma.pass[2][2] = "fust"
	forma.pass[3][2] = "fost"
	forma.pass[4][2] = "fos"
	forma.pass[5][2] = "fores"
	forma.pass[1][3] = "fo"
	forma.pass[2][3] = "fon"
	forma.pass[3][3] = "fou"
	forma.pass[4][3] = "fonch"
	forma.pass[1][4] = "fom"
	forma.pass[2][4] = "fórem"
	forma.pass[1][5] = "fos"
	forma.pass[2][5] = "fórets"
	forma.pass[3][5] = "fóreu"
	forma.pass[1][6] = "foren"
	
	forma.fut = {}
	forma.fut[1] = {}
	forma.fut[2] = {}
	forma.fut[1][1] = "seré"
	forma.fut[1][2] = "seràs"
	forma.fut[1][3] = "serà"
	forma.fut[1][4] = "serem"
	forma.fut[1][5] = "serets"
	forma.fut[2][5] = "sereu"
	forma.fut[1][6] = "seran"
	
	forma.cond = {}
	forma.cond[1] = {}
	forma.cond[2] = {}
	forma.cond[3] = {}
	forma.cond[4] = {}
	forma.cond[1][1] = "seria"
	forma.cond[2][1] = "fóra"
	forma.cond[1][2] = "series"
	forma.cond[2][2] = "fores"
	forma.cond[1][3] = "seria"
	forma.cond[2][3] = "fóra"
	forma.cond[1][4] = "seríem"
	forma.cond[2][4] = "fórem"
	forma.cond[1][5] = "seríets"
	forma.cond[2][5] = "seríeu"
	forma.cond[3][5] = "fórets"
	forma.cond[4][5] = "fóreu"
	forma.cond[1][6] = "serien"
	forma.cond[2][6] = "foren"
	
	forma["pres-subj"] = {}
	forma["pres-subj"][1] = {}
	forma["pres-subj"][2] = {}
	forma["pres-subj"][3] = {}
	forma["pres-subj"][4] = {}
	forma["pres-subj"][1][1] = "sia"
	forma["pres-subj"][2][1] = "siga"
	forma["pres-subj"][1][2] = "sies"
	forma["pres-subj"][2][2] = "sigues"
	forma["pres-subj"][1][3] = "sia"
	forma["pres-subj"][2][3] = "siga"
	forma["pres-subj"][1][4] = "siam"
	forma["pres-subj"][2][4] = "sigam"
	forma["pres-subj"][1][5] = "siats"
	forma["pres-subj"][2][5] = "siau"
	forma["pres-subj"][3][5] = "sigats"
	forma["pres-subj"][4][5] = "sigau"
	forma["pres-subj"][1][6] = "sien"
	forma["pres-subj"][2][6] = "siguen"
	
	forma["imperf-subj"] = {}
	forma["imperf-subj"][1] = {}
	forma["imperf-subj"][2] = {}
	forma["imperf-subj"][3] = {}
	forma["imperf-subj"][4] = {}
	forma["imperf-subj"][1][1] = "fos"
	forma["imperf-subj"][2][1] = "fóra"
	forma["imperf-subj"][1][2] = "fosses"
	forma["imperf-subj"][2][2] = "fores"
	forma["imperf-subj"][1][3] = "fos"
	forma["imperf-subj"][2][3] = "fóra"
	forma["imperf-subj"][1][4] = "fóssem"
	forma["imperf-subj"][2][4] = "fórem"
	forma["imperf-subj"][1][5] = "fóssets"
	forma["imperf-subj"][2][5] = "fósseu"
	forma["imperf-subj"][3][5] = "fórets"
	forma["imperf-subj"][4][5] = "fóreu"
	forma["imperf-subj"][1][6] = "fossen"
	forma["imperf-subj"][2][6] = "foren"
	
	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