Moduuli:la-verbi-taiv

Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:la-verbi-taiv/ohje

local apu = require('Moduuli:Mallinetyokalut')
local kielilinkki = require('Moduuli:Kielilinkki')
local ttapu = require('Moduuli:Taivutustaulukkotyökalut')
local autolinkki = require('Moduuli:Automaattilinkki')

local m = {}

local function sisaltaa_arvon(tab, val)
    for index, value in ipairs(tab) do
        if value == val then
            return true
        end
    end

    return false
end

--- Luo kuvaus-attribuutin tekstin sanan taivutusmuotojen nimistä.
-- @param sana: linkitettävä sana
function m.tee_linkki(sana, lihavoi)
    local sanan_ryhma = m.ryhmat[sana]

    -- Jos linkki on nykyiselle sivulle.
    if not sanan_ryhma then
        return sana
    elseif sisaltaa_arvon(sanan_ryhma, "pass.pperf.vartalo") then
        return sana
    elseif lihavoi then
        return "'''" .. sana .. "'''"
    end

    -- Luodaan kuvaus-parametri yhdistämällä kaikkien samannäköisten muotojen nimet (aakkosjärjestyksessä).
    local taivutusmuodot = table.concat(sanan_ryhma, " ")

	if sisaltaa_arvon(sanan_ryhma, "pass.pperf") then		
    	return kielilinkki.linkki{ 
        	kieli = "la", 
        	kohde = sana, 
        	kuvaus = "tm/la/v/" .. taivutusmuodot,
        	autolinkki = true,
        	["kuvaus-param"] = { [7] = m.args["pass.pperf.vartalo"] }
    	}
    elseif sisaltaa_arvon(sanan_ryhma, "pass.pfut") then		
    	return kielilinkki.linkki{ 
        	kieli = "la", 
        	kohde = sana, 
        	kuvaus = "tm/la/v/" .. taivutusmuodot,
        	autolinkki = true,
        	["kuvaus-param"] = { [7] = m.args["pass.pfut.vartalo"] }
    	}
    elseif sisaltaa_arvon(sanan_ryhma, "gerundiivi") then		
    	return kielilinkki.linkki{ 
        	kieli = "la", 
        	kohde = sana, 
        	kuvaus = "tm/la/v/" .. taivutusmuodot,
        	autolinkki = true,
        	["kuvaus-param"] = { [7] = m.args["gerundiivi.vartalo"] }
    	}
    end
		
    return kielilinkki.linkki{ 
        kieli = "la", 
        kohde = sana, 
        kuvaus = "tm/2/v/" .. taivutusmuodot,
        autolinkki = true
    }
end


--- Tuottaa taivutustaulukon solun sisällön.
-- 
-- @param muoto:           Taivutusmuotoparametrin nimi, esim "3.inf.adess".
function m.solu(muoto, lihavoi)
    local sanat = m.taivutusmuodot[muoto]
    
    if not sanat or #sanat == 0 then
        return ""
    end

    -- Viiva arvona estää muodon näyttämisen.
    if sanat == "-" or sanat[1] == "-" then
        return "–"
    end

    local linkit_1s = apu.map(
        function (sana)
            return m.tee_linkki(sana, lihavoi)
        end,
        sanat
    )

    if toissijaiset then
        return mw.text.listToText( linkit_1s, '<br/>', '<br/>') .. "<br/>" .. toissijaiset
    else
        return mw.text.listToText( linkit_1s, '<br/>', '<br/>')
    end
end


function m.suodata_taivutusmuodot()

    if m.args.luokka == "pass" then
        m.taivutusmuodot["akt.ind.prees.y1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.y3p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m3p"]    = "-"
        m.taivutusmuodot["akt.ind.perf.y1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.y3p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m3p"]     = "-"
        m.taivutusmuodot["akt.ind.imperf.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.y3p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m2p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m3p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y3p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m3p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y3p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m3p"]   = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.y3p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m3p"]    = "-"
        m.taivutusmuodot["akt.konj.imperf.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.y3p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m2p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m3p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y3p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m3p"]  = "-"
        m.taivutusmuodot["akt.ind.fut.y1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.y3p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m3p"]      = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y3p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m3p"] = "-"
        m.taivutusmuodot["akt.imp.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.imp.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.imp.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.y3p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.m2p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.m3p"]      = "-"
        m.taivutusmuodot["inf.prees.akt"]        = "-"
        m.taivutusmuodot["inf.perf.akt"]         = "-"
    end
    
    if m.args.luokka == "akt" then
        m.taivutusmuodot["pass.ind.prees.y1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.y3p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m3p"]   = "-"
        m.taivutusmuodot["pass.ind.imperf.y1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.y2p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.y3p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m2p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m3p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y3p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m3p"]  = "-"
        m.taivutusmuodot["pass.konj.imperf.y1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.y2p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.y3p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m2p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m3p"] = "-"
        m.taivutusmuodot["pass.ind.fut.y1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.y2p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.y3p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m2p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m3p"]     = "-"
        m.taivutusmuodot["pass.imp.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.imp.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.imp.fut.y2p"]     = "-"
        m.taivutusmuodot["pass.imp.fut.y3p"]     = "-"
        m.taivutusmuodot["pass.imp.fut.m3p"]     = "-"
        m.taivutusmuodot["pass.pperf.vartalo"]   = "-"
        m.taivutusmuodot["pass.pperf"]           = "-"
        m.taivutusmuodot["pass.pfut"]            = "-"                
        m.taivutusmuodot["inf.prees.pass"]       = "-"
        m.taivutusmuodot["pass.pfut"]            = "-"
        m.taivutusmuodot["pass.pperf"]           = "-"
        m.taivutusmuodot["gerundiivi"]           = "-"  
    end
    
    if m.args.perf == "-" then
        m.taivutusmuodot["akt.ind.perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.perf.y3p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m3p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y3p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m3p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y3p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m3p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y3p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m3p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y3p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m3p"] = "-"
    end

    if m.args.p == "y3" then
        m.taivutusmuodot["akt.ind.prees.y1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m3p"]    = "-"
        m.taivutusmuodot["akt.ind.perf.y1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m3p"]     = "-"
        m.taivutusmuodot["akt.ind.imperf.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m2p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m3p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m3p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m3p"]   = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m3p"]    = "-"
        m.taivutusmuodot["akt.konj.imperf.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m2p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m3p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m3p"]  = "-"
        m.taivutusmuodot["akt.ind.fut.y1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m3p"]      = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m3p"] = "-"
        m.taivutusmuodot["akt.imp.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.imp.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.imp.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.m2p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.m3p"]      = "-"
        m.taivutusmuodot["pass.ind.prees.y1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m3p"]   = "-"
        m.taivutusmuodot["pass.ind.imperf.y1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.y2p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m2p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m3p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m3p"]  = "-"
        m.taivutusmuodot["pass.konj.imperf.y1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.y2p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m2p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m3p"] = "-"
        m.taivutusmuodot["pass.ind.fut.y1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.y2p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m2p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m3p"]     = "-"
        m.taivutusmuodot["pass.imp.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.imp.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.imp.fut.y2p"]     = "-"
        m.taivutusmuodot["pass.imp.fut.m3p"]     = "-"
        m.taivutusmuodot["gerundiivi"]           = "-"  
        m.taivutusmuodot["akt.ind.perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m3p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m3p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m3p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m3p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m3p"] = "-"
	end

    if m.args.p == "3" then
        m.taivutusmuodot["akt.ind.prees.y1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m1p"]    = "-"
        m.taivutusmuodot["akt.ind.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.ind.perf.y1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"]     = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"]     = "-"
        m.taivutusmuodot["akt.ind.imperf.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.imperf.m2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"]   = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.y2p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m1p"]   = "-"
        m.taivutusmuodot["akt.konj.prees.m2p"]   = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"]    = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"]    = "-"
        m.taivutusmuodot["akt.konj.imperf.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.imperf.m2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"]  = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"]  = "-"
        m.taivutusmuodot["akt.ind.fut.y1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m1p"]      = "-"
        m.taivutusmuodot["akt.ind.fut.m2p"]      = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
        m.taivutusmuodot["akt.imp.prees.y2p"]    = "-"
        m.taivutusmuodot["akt.imp.prees.m2p"]    = "-"
        m.taivutusmuodot["akt.imp.fut.y2p"]      = "-"
        m.taivutusmuodot["akt.imp.fut.m2p"]      = "-"
        m.taivutusmuodot["pass.ind.prees.y1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m1p"]   = "-"
        m.taivutusmuodot["pass.ind.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.ind.imperf.y1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.y2p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m1p"]  = "-"
        m.taivutusmuodot["pass.ind.imperf.m2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.y2p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m1p"]  = "-"
        m.taivutusmuodot["pass.konj.prees.m2p"]  = "-"
        m.taivutusmuodot["pass.konj.imperf.y1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.y2p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m1p"] = "-"
        m.taivutusmuodot["pass.konj.imperf.m2p"] = "-"
        m.taivutusmuodot["pass.ind.fut.y1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.y2p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m1p"]     = "-"
        m.taivutusmuodot["pass.ind.fut.m2p"]     = "-"
        m.taivutusmuodot["pass.imp.prees.y2p"]   = "-"
        m.taivutusmuodot["pass.imp.prees.m2p"]   = "-"
        m.taivutusmuodot["pass.imp.fut.y2p"]     = "-"
        m.taivutusmuodot["gerundiivi"]           = "-"  
        m.taivutusmuodot["akt.ind.perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.perf.m2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.y2p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m1p"] = "-"
        m.taivutusmuodot["akt.konj.perf.m2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.ind.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.y2p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m1p"] = "-"
        m.taivutusmuodot["akt.konj.pluskv.m2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.y2p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m1p"] = "-"
        m.taivutusmuodot["akt.ind.fut-perf.m2p"] = "-"
	end








end


function m.Taivutustaulukko(frame)
    m.args = frame.args

    -- Poistetaan mahdolliset tyhjinä annetut parametrit.
    m.args = apu.poista_tyhjat(m.args)
    
    -- Taulukoidaan samannimiset parametrit, esim. jos on annettu useita eri muotoja ind.p.y3p-parametrille kaksi muotoa
    -- ["y.gen1"] = "x" ja ["y.gen2"] = "y", yhdistetään ne taulukoksi ["y.gen"] = { "x", "y" }.
    m.taivutusmuodot = apu.numeroidut_parametrit(m.args, {
                                                     "akt.ind.prees.y1p",
                                                     "akt.ind.prees.y2p",
                                                     "akt.ind.prees.y3p",
                                                     "akt.ind.prees.m1p",
                                                     "akt.ind.prees.m2p",
                                                     "akt.ind.prees.m3p",
                                                     "pass.ind.prees.y1p",
                                                     "pass.ind.prees.y2p",
                                                     "pass.ind.prees.y3p",
                                                     "pass.ind.prees.m1p",
                                                     "pass.ind.prees.m2p",
                                                     "pass.ind.prees.m3p",
                                                     "akt.ind.perf.y1p",
                                                     "akt.ind.perf.y2p",
                                                     "akt.ind.perf.y3p",
                                                     "akt.ind.perf.m1p",
                                                     "akt.ind.perf.m2p",
                                                     "akt.ind.perf.m3p",
                                                     "akt.ind.imperf.y1p",
                                                     "akt.ind.imperf.y2p",
                                                     "akt.ind.imperf.y3p",
                                                     "akt.ind.imperf.m1p",
                                                     "akt.ind.imperf.m2p",
                                                     "akt.ind.imperf.m3p",
                                                     "pass.ind.imperf.y1p",
                                                     "pass.ind.imperf.y2p",
                                                     "pass.ind.imperf.y3p",
                                                     "pass.ind.imperf.m1p",
                                                     "pass.ind.imperf.m2p",
                                                     "pass.ind.imperf.m3p",
                                                     "akt.ind.pluskv.y1p",
                                                     "akt.ind.pluskv.y2p",
                                                     "akt.ind.pluskv.y3p",
                                                     "akt.ind.pluskv.m1p",
                                                     "akt.ind.pluskv.m2p",
                                                     "akt.ind.pluskv.m3p",
                                                     "akt.konj.prees.y1p",
                                                     "akt.konj.prees.y2p",
                                                     "akt.konj.prees.y3p",
                                                     "akt.konj.prees.m1p",
                                                     "akt.konj.prees.m2p",
                                                     "akt.konj.prees.m3p",
                                                     "pass.konj.prees.y1p",
                                                     "pass.konj.prees.y2p",
                                                     "pass.konj.prees.y3p",
                                                     "pass.konj.prees.m1p",
                                                     "pass.konj.prees.m2p",
                                                     "pass.konj.prees.m3p",
                                                     "akt.konj.perf.y1p",
                                                     "akt.konj.perf.y2p",
                                                     "akt.konj.perf.y3p",
                                                     "akt.konj.perf.m1p",
                                                     "akt.konj.perf.m2p",
                                                     "akt.konj.perf.m3p",
                                                     "akt.konj.imperf.y1p",
                                                     "akt.konj.imperf.y2p",
                                                     "akt.konj.imperf.y3p",
                                                     "akt.konj.imperf.m1p",
                                                     "akt.konj.imperf.m2p",
                                                     "akt.konj.imperf.m3p",
                                                     "pass.konj.imperf.y1p",
                                                     "pass.konj.imperf.y2p",
                                                     "pass.konj.imperf.y3p",
                                                     "pass.konj.imperf.m1p",
                                                     "pass.konj.imperf.m2p",
                                                     "pass.konj.imperf.m3p",
                                                     "akt.konj.pluskv.y1p",
                                                     "akt.konj.pluskv.y2p",
                                                     "akt.konj.pluskv.y3p",
                                                     "akt.konj.pluskv.m1p",
                                                     "akt.konj.pluskv.m2p",
                                                     "akt.konj.pluskv.m3p",
                                                     "akt.ind.fut.y1p",
                                                     "akt.ind.fut.y2p",
                                                     "akt.ind.fut.y3p",
                                                     "akt.ind.fut.m1p",
                                                     "akt.ind.fut.m2p",
                                                     "akt.ind.fut.m3p",
                                                     "pass.ind.fut.y1p",
                                                     "pass.ind.fut.y2p",
                                                     "pass.ind.fut.y3p",
                                                     "pass.ind.fut.m1p",
                                                     "pass.ind.fut.m2p",
                                                     "pass.ind.fut.m3p",
                                                     "akt.ind.fut-perf.y1p",
                                                     "akt.ind.fut-perf.y2p",
                                                     "akt.ind.fut-perf.y3p",
                                                     "akt.ind.fut-perf.m1p",
                                                     "akt.ind.fut-perf.m2p",
                                                     "akt.ind.fut-perf.m3p",
                                                     "akt.imp.prees.y2p",
                                                     "akt.imp.prees.m2p",
                                                     "pass.imp.prees.y2p",
                                                     "pass.imp.prees.m2p",
                                                     "akt.imp.fut.y2p",
                                                     "akt.imp.fut.y3p",
                                                     "akt.imp.fut.m2p",
                                                     "akt.imp.fut.m3p",
                                                     "pass.imp.fut.y2p",
                                                     "pass.imp.fut.y3p",
                                                     "pass.imp.fut.m3p",
                                                     "inf.prees.akt",
                                                     "inf.prees.pass",
                                                     "inf.perf.akt",
                                                     "pprees.akt",
                                                     "pass.pperf.vartalo",
                                                     "pass.pperf",
                                                     "pass.pfut",                                                                                                          
                                                     "gerundiivi",
    })


    -- Suodatetaan yks- ja mon-parametrien mukaisesti pois muodot, joita ei näytetä.
    m.suodata_taivutusmuodot()

    
    -- Luodaan ryhmät samannäköisten taivutusmuotojen mukaan.
    m.ryhmat = ttapu.ryhmittele_arvoittain(m.taivutusmuodot)

	local paa_artikkeli = m.args["akt.ind.prees.y1p"]
	if m.args.luokka == "pass" then
		paa_artikkeli = m.args["pass.ind.prees.y1p"]
	end

    return frame:expandTemplate{
        title = "la-verbi-taiv/taulukko",
        args = {
            ["pääartikkeli"] = autolinkki.muuta("la", paa_artikkeli),
            ["pääartikkelin nimi pituusmerkeillä"] = paa_artikkeli,
            ["luokka"] = frame.args.luokka,
            ["perf"] = frame.args.perf,
            
            ["akt.ind.prees.y1p"]    = m.solu("akt.ind.prees.y1p", m.args.luokka == "akt"),
            ["akt.ind.prees.y2p"]    = m.solu("akt.ind.prees.y2p"),
            ["akt.ind.prees.y3p"]    = m.solu("akt.ind.prees.y3p"),
            ["akt.ind.prees.m1p"]    = m.solu("akt.ind.prees.m1p"),
            ["akt.ind.prees.m2p"]    = m.solu("akt.ind.prees.m2p"),
            ["akt.ind.prees.m3p"]    = m.solu("akt.ind.prees.m3p"),
            ["pass.ind.prees.y1p"]   = m.solu("pass.ind.prees.y1p", m.args.luokka == "pass"),
            ["pass.ind.prees.y2p"]   = m.solu("pass.ind.prees.y2p"),
            ["pass.ind.prees.y3p"]   = m.solu("pass.ind.prees.y3p"),
            ["pass.ind.prees.m1p"]   = m.solu("pass.ind.prees.m1p"),
            ["pass.ind.prees.m2p"]   = m.solu("pass.ind.prees.m2p"),
            ["pass.ind.prees.m3p"]   = m.solu("pass.ind.prees.m3p"),
            ["akt.ind.perf.y1p"]     = m.solu("akt.ind.perf.y1p"),
            ["akt.ind.perf.y2p"]     = m.solu("akt.ind.perf.y2p"),
            ["akt.ind.perf.y3p"]     = m.solu("akt.ind.perf.y3p"),
            ["akt.ind.perf.m1p"]     = m.solu("akt.ind.perf.m1p"),
            ["akt.ind.perf.m2p"]     = m.solu("akt.ind.perf.m2p"),
            ["akt.ind.perf.m3p"]     = m.solu("akt.ind.perf.m3p"),
            ["akt.ind.imperf.y1p"]   = m.solu("akt.ind.imperf.y1p"),
            ["akt.ind.imperf.y2p"]   = m.solu("akt.ind.imperf.y2p"),
            ["akt.ind.imperf.y3p"]   = m.solu("akt.ind.imperf.y3p"),
            ["akt.ind.imperf.m1p"]   = m.solu("akt.ind.imperf.m1p"),
            ["akt.ind.imperf.m2p"]   = m.solu("akt.ind.imperf.m2p"),
            ["akt.ind.imperf.m3p"]   = m.solu("akt.ind.imperf.m3p"),
            ["pass.ind.imperf.y1p"]  = m.solu("pass.ind.imperf.y1p"),
            ["pass.ind.imperf.y2p"]  = m.solu("pass.ind.imperf.y2p"),
            ["pass.ind.imperf.y3p"]  = m.solu("pass.ind.imperf.y3p"),
            ["pass.ind.imperf.m1p"]  = m.solu("pass.ind.imperf.m1p"),
            ["pass.ind.imperf.m2p"]  = m.solu("pass.ind.imperf.m2p"),
            ["pass.ind.imperf.m3p"]  = m.solu("pass.ind.imperf.m3p"),
            ["akt.ind.pluskv.y1p"]   = m.solu("akt.ind.pluskv.y1p"),
            ["akt.ind.pluskv.y2p"]   = m.solu("akt.ind.pluskv.y2p"),
            ["akt.ind.pluskv.y3p"]   = m.solu("akt.ind.pluskv.y3p"),
            ["akt.ind.pluskv.m1p"]   = m.solu("akt.ind.pluskv.m1p"),
            ["akt.ind.pluskv.m2p"]   = m.solu("akt.ind.pluskv.m2p"),
            ["akt.ind.pluskv.m3p"]   = m.solu("akt.ind.pluskv.m3p"),
            ["akt.konj.prees.y1p"]   = m.solu("akt.konj.prees.y1p"),
            ["akt.konj.prees.y2p"]   = m.solu("akt.konj.prees.y2p"),
            ["akt.konj.prees.y3p"]   = m.solu("akt.konj.prees.y3p"),
            ["akt.konj.prees.m1p"]   = m.solu("akt.konj.prees.m1p"),
            ["akt.konj.prees.m2p"]   = m.solu("akt.konj.prees.m2p"),
            ["akt.konj.prees.m3p"]   = m.solu("akt.konj.prees.m3p"),
            ["pass.konj.prees.y1p"]  = m.solu("pass.konj.prees.y1p"),
            ["pass.konj.prees.y2p"]  = m.solu("pass.konj.prees.y2p"),
            ["pass.konj.prees.y3p"]  = m.solu("pass.konj.prees.y3p"),
            ["pass.konj.prees.m1p"]  = m.solu("pass.konj.prees.m1p"),
            ["pass.konj.prees.m2p"]  = m.solu("pass.konj.prees.m2p"),
            ["pass.konj.prees.m3p"]  = m.solu("pass.konj.prees.m3p"),
            ["akt.konj.perf.y1p"]    = m.solu("akt.konj.perf.y1p"),
            ["akt.konj.perf.y2p"]    = m.solu("akt.konj.perf.y2p"),
            ["akt.konj.perf.y3p"]    = m.solu("akt.konj.perf.y3p"),
            ["akt.konj.perf.m1p"]    = m.solu("akt.konj.perf.m1p"),
            ["akt.konj.perf.m2p"]    = m.solu("akt.konj.perf.m2p"),
            ["akt.konj.perf.m3p"]    = m.solu("akt.konj.perf.m3p"),
            ["akt.konj.imperf.y1p"]  = m.solu("akt.konj.imperf.y1p"),
            ["akt.konj.imperf.y2p"]  = m.solu("akt.konj.imperf.y2p"),
            ["akt.konj.imperf.y3p"]  = m.solu("akt.konj.imperf.y3p"),
            ["akt.konj.imperf.m1p"]  = m.solu("akt.konj.imperf.m1p"),
            ["akt.konj.imperf.m2p"]  = m.solu("akt.konj.imperf.m2p"),
            ["akt.konj.imperf.m3p"]  = m.solu("akt.konj.imperf.m3p"),
            ["pass.konj.imperf.y1p"]   = m.solu("pass.konj.imperf.y1p"),
            ["pass.konj.imperf.y2p"]   = m.solu("pass.konj.imperf.y2p"),
            ["pass.konj.imperf.y3p"]   = m.solu("pass.konj.imperf.y3p"),
            ["pass.konj.imperf.m1p"]   = m.solu("pass.konj.imperf.m1p"),
            ["pass.konj.imperf.m2p"]   = m.solu("pass.konj.imperf.m2p"),
            ["pass.konj.imperf.m3p"]   = m.solu("pass.konj.imperf.m3p"),
            ["akt.konj.pluskv.y1p"]    = m.solu("akt.konj.pluskv.y1p"),
            ["akt.konj.pluskv.y2p"]    = m.solu("akt.konj.pluskv.y2p"),
            ["akt.konj.pluskv.y3p"]    = m.solu("akt.konj.pluskv.y3p"),
            ["akt.konj.pluskv.m1p"]    = m.solu("akt.konj.pluskv.m1p"),
            ["akt.konj.pluskv.m2p"]    = m.solu("akt.konj.pluskv.m2p"),
            ["akt.konj.pluskv.m3p"]    = m.solu("akt.konj.pluskv.m3p"),
            ["akt.ind.fut.y1p"]        = m.solu("akt.ind.fut.y1p"),
            ["akt.ind.fut.y2p"]        = m.solu("akt.ind.fut.y2p"),
            ["akt.ind.fut.y3p"]        = m.solu("akt.ind.fut.y3p"),
            ["akt.ind.fut.m1p"]        = m.solu("akt.ind.fut.m1p"),
            ["akt.ind.fut.m2p"]        = m.solu("akt.ind.fut.m2p"),
            ["akt.ind.fut.m3p"]        = m.solu("akt.ind.fut.m3p"),
            ["pass.ind.fut.y1p"]       = m.solu("pass.ind.fut.y1p"),
            ["pass.ind.fut.y2p"]       = m.solu("pass.ind.fut.y2p"),
            ["pass.ind.fut.y3p"]       = m.solu("pass.ind.fut.y3p"),
            ["pass.ind.fut.m1p"]       = m.solu("pass.ind.fut.m1p"),
            ["pass.ind.fut.m2p"]       = m.solu("pass.ind.fut.m2p"),
            ["pass.ind.fut.m3p"]       = m.solu("pass.ind.fut.m3p"),
            ["akt.ind.fut-perf.y1p"]   = m.solu("akt.ind.fut-perf.y1p"),
            ["akt.ind.fut-perf.y2p"]   = m.solu("akt.ind.fut-perf.y2p"),
            ["akt.ind.fut-perf.y3p"]   = m.solu("akt.ind.fut-perf.y3p"),
            ["akt.ind.fut-perf.m1p"]   = m.solu("akt.ind.fut-perf.m1p"),
            ["akt.ind.fut-perf.m2p"]   = m.solu("akt.ind.fut-perf.m2p"),
            ["akt.ind.fut-perf.m3p"]   = m.solu("akt.ind.fut-perf.m3p"),
            ["akt.imp.prees.y2p"]      = m.solu("akt.imp.prees.y2p"),
            ["akt.imp.prees.m2p"]      = m.solu("akt.imp.prees.m2p"),
            ["pass.imp.prees.y2p"]     = m.solu("pass.imp.prees.y2p"),
            ["pass.imp.prees.m2p"]     = m.solu("pass.imp.prees.m2p"),
            ["akt.imp.fut.y2p"]        = m.solu("akt.imp.fut.y2p"),
            ["akt.imp.fut.y3p"]        = m.solu("akt.imp.fut.y3p"),
            ["akt.imp.fut.m2p"]        = m.solu("akt.imp.fut.m2p"),
            ["akt.imp.fut.m3p"]        = m.solu("akt.imp.fut.m3p"),
            ["pass.imp.fut.y2p"]       = m.solu("pass.imp.fut.y2p"),
            ["pass.imp.fut.y3p"]       = m.solu("pass.imp.fut.y3p"),
            ["pass.imp.fut.m3p"]       = m.solu("pass.imp.fut.m3p"),
            ["inf.prees.akt"]          = m.solu("inf.prees.akt"),
            ["inf.prees.pass"]         = m.solu("inf.prees.pass"),
            ["inf.perf.akt"]           = m.solu("inf.perf.akt"),
            ["pprees.akt"]             = m.solu("pprees.akt"),
            ["pass.pperf.vartalo"]     = m.solu("pass.pperf.vartalo"),
            ["pass.pperf"]             = m.solu("pass.pperf"),
            ["pass.pfut"]              = m.solu("pass.pfut"),                        
            ["gerundiivi"]             = m.solu("gerundiivi"),
        }
    }
end


return m