Mòdul:roa-oca-verb/cantar
La documentació d'ús d'aquest mòdul es pot crear a Mòdul:roa-oca-verb/cantar/ús
-- Model de conjugació antiga cantar
local p = {}
function p.formes(infinitiu)
local radical = string.sub(infinitiu, 1, -3)
local radical0 = radical
if radical:find("[iï]n$") then
radical0 = mw.ustring.gsub(radical, "[iï]n$", "ín")
elseif radical:find("i$") then
radical0 = radical .. 'i' -- fiar > fii
elseif radical:find("[aeiou]j$") then
radical0 = mw.ustring.gsub(radical, "j$", "ig") -- pujar > puig
end
local radical_alt = radical
if radical:find("[gq]$") then
radical_alt = radical .. 'u'
elseif radical:find("c$") then
radical_alt = string.sub(infinitiu, 1, -4) .. 'qu'
elseif mw.ustring.find(radical, "ç") then
radical_alt = mw.ustring.sub(infinitiu, 1, -4) .. 'c'
elseif radical:find("j$") then
radical_alt = string.sub(infinitiu, 1, -4) .. 'g'
end
local forma = {}
forma.ger = {}
forma.ger[1] = {}
forma.ger[1][1] = radical .. "ant"
forma.part = {}
forma.part[1] = {}
forma.part[1]["m-s"] = radical .. "at"
forma["pres-ind"] = {}
forma["pres-ind"][1] = {}
forma["pres-ind"][2] = {}
forma["pres-ind"][1][1] = radical0
forma["pres-ind"][1][2] = radical_alt .. "es"
forma["pres-ind"][1][3] = radical .. "a"
forma["pres-ind"][1][4] = radical .. "am"
forma["pres-ind"][1][5] = radical .. "ats"
forma["pres-ind"][2][5] = radical .. "au"
forma["pres-ind"][1][6] = radical_alt .. "en"
forma["imperf-ind"] = {}
forma["imperf-ind"][1] = {}
forma["imperf-ind"][1][1] = radical .. "ava"
forma["imperf-ind"][1][2] = radical .. "aves"
forma["imperf-ind"][1][3] = radical .. "ava"
forma["imperf-ind"][1][4] = radical .. "àvem"
forma["imperf-ind"][1][5] = radical .. "àvets"
forma["imperf-ind"][1][6] = radical .. "aven"
forma.pass = {}
forma.pass[1] = {}
forma.pass[2] = {}
forma.pass[3] = {}
forma.pass[1][1] = radical_alt .. "í"
forma.pass[2][1] = radical_alt .. "é"
forma.pass[1][2] = radical .. "ast"
forma.pass[2][2] = radical_alt .. "ist"
forma.pass[3][2] = radical .. "ares"
forma.pass[1][3] = radical .. "à"
forma.pass[1][4] = radical .. "am"
forma.pass[2][4] = radical .. "àrem"
forma.pass[1][5] = radical .. "às"
forma.pass[2][5] = radical .. "àrets"
forma.pass[3][5] = radical .. "àreu"
forma.pass[1][6] = radical .. "aren"
forma.fut = {}
forma.fut[1] = {}
forma.fut[2] = {}
forma.fut[1][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"][1][1] = radical0
forma["pres-subj"][1][2] = (radical0:find("i[ig]$") and radical0 or radical) .. "s"
forma["pres-subj"][1][3] = radical0
forma["pres-subj"][1][4] = radical_alt .. "em"
forma["pres-subj"][1][5] = radical_alt .. "ets"
forma["pres-subj"][2][5] = radical_alt .. "eu"
forma["pres-subj"][1][6] = radical_alt .. "en"
forma["imperf-subj"] = {}
forma["imperf-subj"][1] = {}
forma["imperf-subj"][2] = {}
forma["imperf-subj"][3] = {}
forma["imperf-subj"][4] = {}
forma["imperf-subj"][1][1] = radical .. "às"
forma["imperf-subj"][2][1] = radical .. "ara"
forma["imperf-subj"][1][2] = radical .. "asses"
forma["imperf-subj"][2][2] = radical .. "ares"
forma["imperf-subj"][1][3] = radical .. "às"
forma["imperf-subj"][2][3] = radical .. "ara"
forma["imperf-subj"][1][4] = radical .. "àssem"
forma["imperf-subj"][2][4] = radical .. "àrem"
forma["imperf-subj"][1][5] = radical .. "àssets"
forma["imperf-subj"][2][5] = radical .. "àsseu"
forma["imperf-subj"][3][5] = radical .. "àrets"
forma["imperf-subj"][4][5] = radical .. "àreu"
forma["imperf-subj"][1][6] = radical .. "assen"
forma["imperf-subj"][2][6] = radical .. "aren"
forma.imp = {}
forma.imp[1] = {}
forma.imp[2] = {}
forma.imp[1][2] = forma["pres-ind"][1][3]
forma.imp[1][3] = forma["pres-subj"][1][3]
forma.imp[1][4] = forma["pres-subj"][1][4]
forma.imp[1][5] = forma["pres-ind"][1][5]
forma.imp[2][5] = forma["pres-ind"][2][5]
forma.imp[1][6] = forma["pres-subj"][1][6]
return forma
end
return p