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

-- Model de conjugació antiga del verb fer
local p = {}

function p.formes(infinitiu)
	local radical = string.sub(infinitiu, 1, -3)
	local forma = {}
	
	forma.ger = {}
	forma.ger[1] = {}
	forma.ger[2] = {}
	forma.ger[1][1] = radical .. "ent"
	forma.ger[2][1] = radical .. "aent"
	
	forma.part = {}
	forma.part[1] = {}
	forma.part[2] = {}
	forma.part[1]["m-s"] = radical .. "et"
	forma.part[2]["m-s"] = radical .. "eyt"
	
	forma["pres-ind"] = {}
	forma["pres-ind"][1] = {}
	forma["pres-ind"][2] = {}
	forma["pres-ind"][3] = {}
	forma["pres-ind"][4] = {}
	forma["pres-ind"][5] = {}
	forma["pres-ind"][6] = {}
	forma["pres-ind"][1][1] = radical .. "aç"
	forma["pres-ind"][2][1] = radical .. "ac"
	forma["pres-ind"][3][1] = radical .. "ai"
	forma["pres-ind"][4][1] = radical .. "au"
	forma["pres-ind"][1][2] = radical .. (radical == "f" and "as" or "às")
	forma["pres-ind"][1][3] = radical .. (radical == "f" and "a" or "à")
	forma["pres-ind"][1][4] = radical .. "aem"
	forma["pres-ind"][2][4] = radical .. "em"
	forma["pres-ind"][1][5] = radical .. "aets"
	forma["pres-ind"][2][5] = radical .. "ayts"
	forma["pres-ind"][3][5] = radical .. "eyts"
	forma["pres-ind"][4][5] = radical .. "eys"
	forma["pres-ind"][5][5] = radical .. "aeu"
	forma["pres-ind"][6][5] = radical .. "eu"
	forma["pres-ind"][1][6] = radical .. "an"
	
	forma["imperf-ind"] = {}
	forma["imperf-ind"][1] = {}
	forma["imperf-ind"][2] = {}
	forma["imperf-ind"][3] = {}
	forma["imperf-ind"][4] = {}
	forma["imperf-ind"][5] = {}
	forma["imperf-ind"][6] = {}
	forma["imperf-ind"][7] = {}
	forma["imperf-ind"][8] = {}
	forma["imperf-ind"][9] = {}
	forma["imperf-ind"][10] = {}
	forma["imperf-ind"][11] = {}
	forma["imperf-ind"][12] = {}
	forma["imperf-ind"][1][1] = radical .. "asia"
	forma["imperf-ind"][2][1] = radical .. "ahia"
	forma["imperf-ind"][3][1] = radical .. "aya"
	forma["imperf-ind"][4][1] = radical .. "ehia"
	forma["imperf-ind"][5][1] = radical .. "eya"
	forma["imperf-ind"][6][1] = radical .. "ia"
	forma["imperf-ind"][1][2] = radical .. "asies"
	forma["imperf-ind"][2][2] = radical .. "ahies"
	forma["imperf-ind"][3][2] = radical .. "ayes"
	forma["imperf-ind"][4][2] = radical .. "ehies"
	forma["imperf-ind"][5][2] = radical .. "eyes"
	forma["imperf-ind"][6][2] = radical .. "ies"
	forma["imperf-ind"][1][3] = radical .. "asia"
	forma["imperf-ind"][2][3] = radical .. "ahia"
	forma["imperf-ind"][3][3] = radical .. "aya"
	forma["imperf-ind"][4][3] = radical .. "ehia"
	forma["imperf-ind"][5][3] = radical .. "eya"
	forma["imperf-ind"][6][3] = radical .. "ia"
	forma["imperf-ind"][1][4] = radical .. "asíem"
	forma["imperf-ind"][2][4] = radical .. "ahíem"
	forma["imperf-ind"][3][4] = radical .. "àyem"
	forma["imperf-ind"][4][4] = radical .. "ehíem"
	forma["imperf-ind"][5][4] = radical .. "èyem"
	forma["imperf-ind"][6][4] = radical .. "íem"
	forma["imperf-ind"][1][5] = radical .. "asíets"
	forma["imperf-ind"][2][5] = radical .. "ahíets"
	forma["imperf-ind"][3][5] = radical .. "àyets"
	forma["imperf-ind"][4][5] = radical .. "ehíets"
	forma["imperf-ind"][5][5] = radical .. "èyets"
	forma["imperf-ind"][6][5] = radical .. "íets"
	forma["imperf-ind"][7][5] = radical .. "asíeu"
	forma["imperf-ind"][8][5] = radical .. "ahíeu"
	forma["imperf-ind"][9][5] = radical .. "àyeu"
	forma["imperf-ind"][10][5] = radical .. "ehíeu"
	forma["imperf-ind"][11][5] = radical .. "èyeu"
	forma["imperf-ind"][12][5] = radical .. "íeu"
	forma["imperf-ind"][1][6] = radical .. "asien"
	forma["imperf-ind"][2][6] = radical .. "ahien"
	forma["imperf-ind"][3][6] = radical .. "ayen"
	forma["imperf-ind"][4][6] = radical .. "ehien"
	forma["imperf-ind"][5][6] = radical .. "eyen"
	forma["imperf-ind"][6][6] = radical .. "ien"
	
	forma.pass = {}
	forma.pass[1] = {}
	forma.pass[2] = {}
	forma.pass[3] = {}
	forma.pass[4] = {}
	forma.pass[5] = {}
	forma.pass[6] = {}
	forma.pass[1][1] = radical .. "iu"
	forma.pass[2][1] = radical .. (radical == "f" and "i" or "í")
	forma.pass[1][2] = radical .. "ahist"
	forma.pass[2][2] = radical .. "ist"
	forma.pass[3][2] = radical .. "aeres"
	forma.pass[4][2] = radical .. "eres"
	forma.pass[5][2] = radical .. (radical == "f" and "es" or "és")
	forma.pass[1][3] = radical .. "ed"
	forma.pass[2][3] = radical .. "ech"
	forma.pass[3][3] = radical .. (radical == "f" and "e" or "é")
	forma.pass[4][3] = radical .. (radical == "f" and "eu" or "éu")
	forma.pass[1][4] = radical .. "aem"
	forma.pass[2][4] = radical .. "em"
	forma.pass[3][4] = radical .. "aérem"
	forma.pass[4][4] = radical .. "érem"
	forma.pass[1][5] = radical .. "aés"
	forma.pass[2][5] = radical .. (radical == "f" and "es" or "és")
	forma.pass[3][5] = radical .. "aérets"
	forma.pass[4][5] = radical .. "aéreu"
	forma.pass[5][5] = radical .. "érets"
	forma.pass[6][5] = radical .. "éreu"
	forma.pass[1][6] = radical .. "aeren"
	forma.pass[2][6] = radical .. "eren"
	
	forma.fut = {}
	forma.fut[1] = {}
	forma.fut[2] = {}
	forma.fut[1][1] = radical .. "aray"
	forma.fut[2][1] = radical .. "aré"
	forma.fut[1][2] = radical .. "aràs"
	forma.fut[1][3] = radical .. "arà"
	forma.fut[1][4] = radical .. "arem"
	forma.fut[1][5] = radical .. "arets"
	forma.fut[2][5] = radical .. "areu"
	forma.fut[1][6] = radical .. "aran"
	
	forma.cond = {}
	forma.cond[1] = {}
	forma.cond[2] = {}
	forma.cond[1][1] = radical .. "aria"
	forma.cond[1][2] = radical .. "aries"
	forma.cond[1][3] = radical .. "aria"
	forma.cond[1][4] = radical .. "aríem"
	forma.cond[1][5] = radical .. "aríets"
	forma.cond[2][5] = radical .. "aríeu"
	forma.cond[1][6] = radical .. "arien"
	
	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] = radical .. "aça"
	forma["pres-subj"][2][1] = radical .. "aga"
	forma["pres-subj"][1][2] = radical .. "aces"
	forma["pres-subj"][2][2] = radical .. "agues"
	forma["pres-subj"][1][3] = radical .. "aça"
	forma["pres-subj"][2][3] = radical .. "aga"
	forma["pres-subj"][1][4] = radical .. "açam"
	forma["pres-subj"][2][4] = radical .. "acem"
	forma["pres-subj"][3][4] = radical .. "agam"
	forma["pres-subj"][1][5] = radical .. "açats"
	forma["pres-subj"][2][5] = radical .. "açau"
	forma["pres-subj"][3][5] = radical .. "agats"
	forma["pres-subj"][4][5] = radical .. "agau"
	forma["pres-subj"][5][5] = radical .. "acets"
	forma["pres-subj"][6][5] = radical .. "aceu"
	forma["pres-subj"][1][6] = radical .. "ecen"
	forma["pres-subj"][2][6] = radical .. "aguen"
	
	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"][6] = {}
	forma["imperf-subj"][7] = {}
	forma["imperf-subj"][8] = {}
	forma["imperf-subj"][9] = {}
	forma["imperf-subj"][10] = {}
	forma["imperf-subj"][11] = {}
	forma["imperf-subj"][12] = {}
	forma["imperf-subj"][1][1] = radical .. "asés"
	forma["imperf-subj"][2][1] = radical .. "acés"
	forma["imperf-subj"][3][1] = radical .. "aés"
	forma["imperf-subj"][4][1] = radical .. (radical == "f" and "es" or "és")
	forma["imperf-subj"][5][1] = radical .. "aera"
	forma["imperf-subj"][6][1] = radical .. "era"
	forma["imperf-subj"][1][2] = radical .. "asesses"
	forma["imperf-subj"][2][2] = radical .. "acesses"
	forma["imperf-subj"][3][2] = radical .. "aesses"
	forma["imperf-subj"][4][2] = radical .. "esses"
	forma["imperf-subj"][5][2] = radical .. "aeres"
	forma["imperf-subj"][6][2] = radical .. "eres"
	forma["imperf-subj"][1][3] = radical .. "asés"
	forma["imperf-subj"][2][3] = radical .. "acés"
	forma["imperf-subj"][3][3] = radical .. "aés"
	forma["imperf-subj"][4][3] = radical .. (radical == "f" and "es" or "és")
	forma["imperf-subj"][5][3] = radical .. "aera"
	forma["imperf-subj"][6][3] = radical .. "era"
	forma["imperf-subj"][1][4] = radical .. "aséssem"
	forma["imperf-subj"][2][4] = radical .. "acéssem"
	forma["imperf-subj"][3][4] = radical .. "aéssem"
	forma["imperf-subj"][4][4] = radical .. "éssem"
	forma["imperf-subj"][5][4] = radical .. "aérem"
	forma["imperf-subj"][6][4] = radical .. "érem"
	forma["imperf-subj"][1][5] = radical .. "aséssets"
	forma["imperf-subj"][2][5] = radical .. "acéssets"
	forma["imperf-subj"][3][5] = radical .. "aéssets"
	forma["imperf-subj"][4][5] = radical .. "éssets"
	forma["imperf-subj"][5][5] = radical .. "aérets"
	forma["imperf-subj"][6][5] = radical .. "érets"
	forma["imperf-subj"][7][5] = radical .. "asésseu"
	forma["imperf-subj"][8][5] = radical .. "acésseu"
	forma["imperf-subj"][9][5] = radical .. "aésseu"
	forma["imperf-subj"][10][5] = radical .. "ésseu"
	forma["imperf-subj"][11][5] = radical .. "aéreu"
	forma["imperf-subj"][12][5] = radical .. "éreu"
	forma["imperf-subj"][1][6] = radical .. "asessen"
	forma["imperf-subj"][2][6] = radical .. "acessen"
	forma["imperf-subj"][3][6] = radical .. "aessen"
	forma["imperf-subj"][4][6] = radical .. "essen"
	forma["imperf-subj"][5][6] = radical .. "aeren"
	forma["imperf-subj"][6][6] = radical .. "eren"
	
	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-ind", 3, 2)
	copyImp("pres-subj", 3, 3)
	copyImp("pres-subj", 4, 4)
	copyImp("pres-ind", 5, 5)
	copyImp("pres-subj", 6, 6)
	forma.imp[1][2] = radical .. (radical == "f" and "es" or "és")
	forma.imp[2][2] = radical .. (radical == "f" and "e" or "é")
	
	return forma
end

return p