Mòdul:ca-verb/eixir

De Viccionari

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

-- Formes irregulars del verb eixir i derivats (deseixir, reeixir, sobreeixir).
local export = {}

function export.make_irregulars(forma, zona)
	local radical = forma.inf:gsub("xir$", "")
	local radical_hiat = (radical == "reei" or radical == "sobreei") and radical:gsub("ei$", "ï") or radical:gsub("ei$", "i")
	
	forma["pres-ind"] = {}
	forma["pres-ind"][1] = {}
	forma["pres-ind"][1][1] = radical_hiat .. "xo"
	forma["pres-ind"][1][2] = radical_hiat .. "xes"
	forma["pres-ind"][1][3] = radical_hiat .. "x"
	forma["pres-ind"][1][4] = radical .. "xim"
	forma["pres-ind"][1][5] = radical .. "xiu"
	forma["pres-ind"][1][6] = radical_hiat .. "xen"
	
	local fila = 2
	if zona.sept or zona.centr or zona.bal or zona.val then
		forma["pres-ind"][fila] = {}
		forma["pres-ind"][fila][1] = radical_hiat .. "sc"
		fila = fila + 1
	end
	if zona.sept then
		forma["pres-ind"][fila] = {}
		forma["pres-ind"][fila][1] = radical_hiat .. "xi"
		forma["pres-ind"][fila]["nota"] = "sept"
		fila = fila + 1
	end
	if zona.alg then
		forma["pres-ind"][fila] = {}
		forma["pres-ind"][fila][1] = radical_hiat .. "x"
		forma["pres-ind"][fila][2] = radical_hiat .. "xis"
		forma["pres-ind"][fila][3] = radical_hiat .. "xi"
		forma["pres-ind"][fila][6] = radical_hiat .. "xin"
		forma["pres-ind"][fila]["nota"] = "alg"
	end
	
	if zona.val then
		forma["pass"][2] = {}
		forma["pass"][2][1] = radical_hiat .. "squí"
		forma["pass"][2][2] = radical_hiat .. "squeres"
		forma["pass"][2][3] = radical_hiat .. "squé"
		forma["pass"][2][4] = radical_hiat .. "squérem"
		forma["pass"][2][5] = radical_hiat .. "squéreu"
		forma["pass"][2][6] = radical_hiat .. "squeren"
		forma["pass"][2]["nota"] = "val"
	end
	
	forma["pres-subj"][1][1] = radical_hiat .. "xi"
	forma["pres-subj"][1][2] = radical_hiat .. "xis"
	forma["pres-subj"][1][3] = radical_hiat .. "xi"
	forma["pres-subj"][1][6] = radical_hiat .. "xin"
	
	fila = 2
	if zona.occ then
		forma["pres-subj"][2][1] = radical_hiat .. "sca"
		forma["pres-subj"][2][2] = radical_hiat .. "sques"
		forma["pres-subj"][2][3] = radical_hiat .. "sca"
		forma["pres-subj"][2][4] = radical_hiat .. "squem"
		forma["pres-subj"][2][5] = radical_hiat .. "squeu"
		forma["pres-subj"][2][6] = radical_hiat .. "squen"
		fila = fila + 1
	end
	if zona.bal then
		forma["pres-subj"][fila] = {}
		forma["pres-subj"][fila][4] = radical .. "xiguem"
		forma["pres-subj"][fila][5] = radical .. "xigueu"
		forma["pres-subj"][fila]["nota"] = "bal"
	end
	
	fila = 2
	if zona.nocc then
		forma["imperf-subj"][fila] = {}
		forma["imperf-subj"][fila][1] = radical_hiat .. "squés"
		forma["imperf-subj"][fila][2] = radical_hiat .. "squesses"
		forma["imperf-subj"][fila][3] = radical_hiat .. "squés"
		forma["imperf-subj"][fila][4] = radical_hiat .. "squéssem"
		forma["imperf-subj"][fila][5] = radical_hiat .. "squésseu"
		forma["imperf-subj"][fila][6] = radical_hiat .. "squessen"
		forma["imperf-subj"][fila]["nota"] = "n-occ"
		fila = fila + 1
	end
	if zona.val then
		forma["imperf-subj"][fila] = {}
		forma["imperf-subj"][fila][1] = radical_hiat .. "squera"
		forma["imperf-subj"][fila][2] = radical_hiat .. "squeres"
		forma["imperf-subj"][fila][3] = radical_hiat .. "squera"
		forma["imperf-subj"][fila][4] = radical_hiat .. "squérem"
		forma["imperf-subj"][fila][5] = radical_hiat .. "squéreu"
		forma["imperf-subj"][fila][6] = radical_hiat .. "squeren"
		forma["imperf-subj"][fila]["nota"] = "val"
	end
	
	forma["imp"][1][2] = radical_hiat .. "x"
	forma["imp"][1][3] = radical_hiat .. "xi"
	forma["imp"][1][6] = radical_hiat .. "xin"
	if zona.occ then
		forma["imp"][3] = nil
		forma["imp"][2] = {}
		forma["imp"][2][3] = radical_hiat .. "sca"
		forma["imp"][2][4] = radical_hiat .. "squem"
		forma["imp"][2][6] = radical_hiat .. "squen"
		forma["imp"][2]["nota"] = "occ"
	end
	
	forma["no-pres-ind"] = nil
	forma["no-pres-subj"] = nil
	if zona.nocc and zona.alt then
		forma["no-imperf-ind"][2] = nil
		
		forma["no-pres-subj"] = {}
		forma["no-pres-subj"][1] = {}
		forma["no-pres-subj"][1][1] = radical_hiat .. "xa"
		forma["no-pres-subj"][1][2] = radical_hiat .. "xes"
		forma["no-pres-subj"][1][3] = radical_hiat .. "xa"
		forma["no-pres-subj"][1][4] = radical_hiat .. "scam"
		forma["no-pres-subj"][1][5] = radical_hiat .. "scau"
		forma["no-pres-subj"][1][6] = radical_hiat .. "xen"
		forma["no-pres-subj"][1]["nota"] = "n-occ"
	end
	
	forma["no-imperf-subj"] = {}
	fila = 1
	if zona.val then
		forma["no-imperf-subj"][fila] = {}
		forma["no-imperf-subj"][fila][1] = radical .. "xira"
		forma["no-imperf-subj"][fila][2] = radical .. "xires"
		forma["no-imperf-subj"][fila][3] = radical .. "xira"
		forma["no-imperf-subj"][fila][4] = radical .. "xírem"
		forma["no-imperf-subj"][fila][5] = radical .. "xíreu"
		forma["no-imperf-subj"][fila][6] = radical .. "xiren"
		forma["no-imperf-subj"][fila]["nota"] = "val"
		fila = fila + 1
	end
	if zona.alg then
		forma["no-imperf-subj"][fila] = {}
		forma["no-imperf-subj"][fila][1] = radical .. "xissi"
		forma["no-imperf-subj"][fila][3] = radical .. "xissi"
		forma["no-imperf-subj"][fila]["nota"] = "alg"
	end
	
	return forma
end

return export