Mòdul:ca-verb/dur

De Viccionari

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

-- Formes irregulars dels verbs dur i endur.
local p = {}

function p.make_irregulars(forma, zona)
	local radical = forma.inf:gsub("ur$", "")
	
	forma.part[1]["m-s"] = radical .. "ut"
	forma.part[1]["f-s"] = radical .. "uta"
	forma.part[1]["m-p"] = radical .. "uts"
	forma.part[1]["f-p"] = radical .. "utes"
	if zona.bal then
		forma.part[2] = {}
		forma.part[2]["m-s"] = radical .. "uit"
		forma.part[2]["f-s"] = radical .. "uita"
		forma.part[2]["m-p"] = radical .. "uits"
		forma.part[2]["f-p"] = radical .. "uites"
		forma.part[2]["nota"] = "bal"
	end
	
	forma["pres-ind"][1][2] = radical .. "uus"
	forma["pres-ind"][1][3] = radical .. "uu"
	forma["pres-ind"][2] = {}
	forma["pres-ind"][2][2] = radical .. (forma.inf == "dur" and "us" or "ús")
	forma["pres-ind"][2][3] = radical .. (forma.inf == "dur" and "u" or "ú")
	if zona.bal then
		forma["pres-ind"][3] = {}
		forma["pres-ind"][3][4] = radical .. "uim"
		forma["pres-ind"][3][5] = radical .. "uis"
		forma["pres-ind"][3]["nota"] = "bal"
	end
	
	forma["imperf-ind"][1][1] = radical .. "uia"
	forma["imperf-ind"][1][2] = radical .. "uies"
	forma["imperf-ind"][1][3] = radical .. "uia"
	forma["imperf-ind"][1][4] = radical .. "úiem"
	forma["imperf-ind"][1][5] = radical .. "úieu"
	forma["imperf-ind"][1][6] = radical .. "uien"
	
	forma["imp"][1][2] = radical .. "uu"
	forma["imp"][2] = {}
	forma["imp"][2][2] = radical .. (forma.inf == "dur" and "u" or "ú")
	fila = #forma.imp + 1
	if zona.bal then
		forma["imp"][fila] = {}
		forma["imp"][fila][5] = radical .. "uis"
		forma["imp"][fila]["nota"] = "bal"
		fila = fila + 1
	end
	if zona.nocc or zona.val then
		forma["imp"][fila] = {}
		forma["imp"][fila][3] = radical .. "uga"
		forma["imp"][fila][6] = radical .. "uguen"
		forma["imp"][fila]["nota"] = "occ"
		fila = fila + 1
	end
	if zona.val then
		forma["imp"][fila] = {}
		forma["imp"][fila][2] = radical .. (forma.inf == "dur" and "us" or "ús")
		forma["imp"][fila]["nota"] = "val"
	end
	
	if zona.alt then
		forma["no-imperf-ind"] = {}
		if zona.nocc then
			forma["no-imperf-ind"][1] = {}
			forma["no-imperf-ind"][1][1] = radical .. "uieva"
			forma["no-imperf-ind"][1][2] = radical .. "uieves"
			forma["no-imperf-ind"][1][3] = radical .. "uieva"
			forma["no-imperf-ind"][1][4] = radical .. "uièvom"
			forma["no-imperf-ind"][1][5] = radical .. "uièvou"
			forma["no-imperf-ind"][1][6] = radical .. "uieven"
			forma["no-imperf-ind"][1]["nota"] = "n-occ"
		end
		
		forma["no-imperf-subj"][1][1] = radical .. "uiés"
		forma["no-imperf-subj"][1][2] = radical .. "uiessis"
		forma["no-imperf-subj"][1][3] = radical .. "uiés"
		forma["no-imperf-subj"][1][4] = radical .. "uiéssim"
		forma["no-imperf-subj"][1][4] = radical .. "uiéssiu"
		forma["no-imperf-subj"][1][4] = radical .. "uiessin"
	end
	
	return forma
end

return p