Module:el-verb-conj
Μετάβαση στην πλοήγηση
Πήδηση στην αναζήτηση
Module:el-verb-conj/τεκμηρίωση για το Module:el-verb-conj
Περιγραφή
Κώδικας για την κλίση των ρημάτων της νεοελληνικής. Καλείται από πρότυπα κλίσης
Ονομαστικές παράμετροι
- λήμμα= : Απαιτείται μόνο αν η σελίδα δεν είναι αυτή του ρήματος που κλίνουμε.
- προθ=: Το πρώτο συνθετικό σε σύνθετα ρήματα.
- ενεστ=: Το κλιτικό παράδειγμα του ενεστώτα. Οδηγεί στις αντίστοιχες συναρτήσεις του module, πχ enestotas['ω'], enestotas['άω_ώ'] κλπ.
- συνοπτ=: Το κλιτικό παράδειγμα των συνοπτικών χρόνων. Οδηγεί στις αντίστοιχες συναρτήσεις του module, πχ synoptikoi['α'], synoptikoi['ήκα-ώ'] κλπ.
- χμτχ= : Ο χαρακτήρας της μετοχής παθητ. παρακειμένου. Μπορεί να πάρει τις τιμές μ, μμ, σμ, γμ
- χαρ= : Στα συμφωνόληκτα ρήματα όπως αλλάζω, μειώνω έχει αυτομάτως την τιμή 1.
- θαορ= : Το θέμα του αορίστου, όπου σχηματίζεται ανώμαλα.
- θμελλ= : Το θέμα του μέλλοντα, όπου σχηματίζεται ανώμαλα.
- μτχ=: Η μετοχή παθητικού παρακειμένου, όταν σχηματίζεται ανώμαλα.
- πρ1= :β' ενικό προστακτικής ενεστώτα
- πρ2= :β' πληθυντικό προστακτικής ενεστώτα
- πρ3= :β' ενικό προστακτικής αορίστου
- πρ4= :β' πληθυντικό προστακτικής αορίστου
Στην ενεργητική φωνή
- παρακΒ=1 : Θα εμφανίσει τους δεύτερους μεταβατικούς τύπους των συντελεσμένων χρόνων (έχω ...μένο)
- παρακΓ=1 : Για τους δεύτερους αμετάβατους τύπους των συντελεσμένων χρόνων (είμαι ...μένος)
- σ : Ο χαρακτήρας του αορίστου. Μπορεί να πάρει τις τιμές σ, ξ, ψ, ν
- συνίζ: Για ρήματα όπου η συνίζηση επηρεάζει τον τόνο στον αόριστο. Μπορεί να πάρει τις τιμές
- συνίζ=nil, πχ αιφνιδιάζω, αιφνιδίασα
- συνίζ=1, πχ βουλιάζω, βούλιαξα
- συνίζ=2, πχ αδειάζω, άδειασα
- pr4=ε: όπου απαιτείται ένα επιπλέον ε στο σχηματισμό του β' πληθ. προστ. αορ.
Στην παθητική φωνή
- παρακΒ=1 : Θα εμφανίσει τους δεύτερους τύπους των συντελεσμένων χρόνων (είμαι ...μένος)
- μτχ1=1 : Θα εμφανίσει την παθητική μετοχή ενεστώτα σε -όμενος
- μτχ=-: Όταν δεν υπάρχει μετοχή παθητικού παρακειμένου
- χαορ : Μπορεί να πάρει τις τιμές θ, στ, χτ, φτ κλπ
- σ : Ο χαρακτήρας του β' ενικ. προστακτ. αορίστου. Μπορεί να πάρει τις τιμές σ, ξ, ψ
_module = {}
atona = { ['α'] = 'ά', ['ε'] = 'έ', ['η'] = 'ή', ['ι'] = 'ί', ['ϊ'] = 'ΐ',
['ο'] = 'ό', ['υ'] = 'ύ', ['ϋ'] = 'ΰ', ['ω'] = 'ώ' }
tonismena = { ['ά'] = 'α', ['έ'] = 'ε', ['ή'] = 'η', ['ί'] = 'ι', ['ΐ'] = 'ϊ',
['ό'] = 'ο', ['ύ'] = 'υ', ['ΰ'] = 'ϋ', ['ώ'] = 'ω' }
tonismena2 = { ['άι'] = 'αϊ', ['έι'] = 'εϊ', ['όι'] = 'οϊ',
['άυ'] = 'αϋ', ['έυ'] ='εϋ', ['όυ'] = 'οϋ' }
tonismena3 = { ['αΐ'] = 'άι', ['εΐ'] = 'έι', ['οΐ'] = 'όι', ['αΰ'] = 'άυ', ['εΰ'] = 'έυ', ['ουί'] = 'ούι' }
dipsifa = { 'αι', 'οι', 'ει', 'αυ', 'ου', 'ευ', 'ηυ' }
-- Χρώματα
xr1 = "style='background:#c0c0c0'"
xr2 = "style='background:#e2e4c0'"
style1 = "style='background:#F0F0F0;border:1px solid #AAAACC;margin-left:1em;margin-bottom:0.5em;text-align:left;' rules='all' cellpadding='5' cellspacing='0'"
function removeaccent(stem)
--για κάθε χαρακτήρα
local wordproduced = ''
--για κάθε συνδυασμό γραμμάτων που μπορεί να χρειαστούν διαλυτικά
for diplotonismeno, neatimh in pairs(tonismena2) do
arxi, telos = mw.ustring.find(stem, diplotonismeno)
if arxi ~= nil then
wordproduced = mw.ustring.gsub(stem, diplotonismeno, neatimh, 1) --μια φορά αντικατάσταση
--βρέθηκε ο τόνος και αφαιρέθηκε
return wordproduced
end
end
for codepoint in mw.ustring.gcodepoint( stem ) do
--αντικατάστησέ τον με βάση τον πίνακα
mychar = mw.ustring.char(codepoint)
convertedchar = tonismena[mychar]
--αν βρήκε κάτι για αντικατάσταση
--είναι δηλαδή τονισμένο γράμμα
if convertedchar ~= nil then
--πρόσθεσέ το στη δημιουργούμενη κλείδα
wordproduced = wordproduced .. convertedchar
else
--αλλιώς άσε το ίδιο
wordproduced = wordproduced .. mychar
end
end
return wordproduced
end
-- Η συνάρτηση αρχίζει από το τελευταίο γράμμα του θέματος και πηγαίνει προς το πρώτο.
-- Όταν συναντήσει το πρώτο (άτονο) φωνήεν, το τονίζει και τέλος
-- Εννοείται ότι η μεταβλητή stem δεν πρέπει να περιέχει τονισμένα φωνήεντα.
function neostonos(stem)
local stempoint = mw.ustring.len(stem)
local wordproduced = ""
while stempoint > 0 do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = atona[mychar]
if newchar ~= nil then
if stempoint > 1 then
return mw.ustring.sub(stem, 1, stempoint-1 ) .. newchar .. wordproduced
else
return newchar .. wordproduced
end
else
wordproduced = mychar .. wordproduced
stempoint = stempoint -1
end
end
return wordproduced
end
-- μετάθεση του τόνου στην προπαραλήγουσα
function _module.neostonos2(stem, syniz)
local wordproduced = ""
--για κάθε συνδυασμό γραμμάτων με τόνο και διαλυτικά
for diplotonismeno, neatimh in pairs(tonismena3) do
arxi, telos = mw.ustring.find(stem, diplotonismeno)
if arxi ~= nil then
return mw.ustring.gsub(stem, diplotonismeno, neatimh, 1) --μια φορά αντικατάσταση
--βρέθηκε ο τόνος και μετατέθηκε
end
end
-- αν δεν βρέθηκαν διαλυτικά αρχίζουμε από το τέλος για να βρούμε πού είναι ο τόνος
stempoint = mw.ustring.len(stem)
accentNotFound = true
while accentNotFound do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = tonismena[mychar]
if newchar ~= nil then
wordproduced = newchar .. wordproduced
accentNotFound = false
else
wordproduced = mychar .. wordproduced
end
stempoint = stempoint -1
end
--να εξετάσουμε αν υπάρχει συνίζηση: πρέπει να μας το πει ο χρήστης,
--αιφνιδιάζω (συνίζ=nil), μεριάζω (συνίζ=1), αδειάζω (συνίζ=2)
if syniz ~= nil then
syniz = tonumber(syniz)
wordproduced = mw.ustring.sub(stem, stempoint+1-syniz, stempoint) .. wordproduced
stempoint = stempoint - syniz
end
--να εξετάσουμε αν ο τόνος ήταν σε δίψηφο φωνήεν
twoletters = mw.ustring.sub(stem, stempoint, stempoint) .. newchar
for _,v in pairs(dipsifa) do
if v == twoletters then
wordproduced = mw.ustring.sub(stem, stempoint, stempoint) .. wordproduced
stempoint = stempoint -1
end
end
return neostonos(mw.ustring.sub(stem, 1, stempoint)) .. wordproduced
end
--Ενεργητικοί χρόνοι
enestotas0 = function (e)
local xr2 = "\n|-\n| " .. xr1 .. " | "
for x=1, 6 do e[x] = e[x] .. "\n| " .. e[x+6] .. "\n| θα " .. e[x] .. "\n| να " .. e[x] .. "\n| " end
local output = "|-\n! πρόσωπα\n! Ενεστώτας\n! Παρατατικός\n! Εξ. Μέλλ.\n! Υποτακτική\n! Προστακτική\n! align=center | Μετοχή"
output = output .. xr2 .. "α' ενικ.\n| " .. e[1] .. '\n| rowspan="6" align="center" |' .. e[13]
output = output .. xr2 .. "β' ενικ.\n| " .. e[2] .. e[14] .. xr2 .. "γ' ενικ.\n| " .. e[3]
output = output .. xr2 .. "α' πληθ.\n| " .. e[4] .. xr2 .. "β' πληθ.\n| " .. e[5] .. e[15]
output = output .. xr2 .. "γ' πληθ.\n| " .. e[6] .. "\n"
return output
end
enestotas = {}
enestotas["ω"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ω'; e[2] = args['θ1'] .. 'εις'; e[3] = args['θ1'] .. 'ει'
e[4] = args['θ1'] .. 'ουμε'; e[5] = args['θ1'] .. 'ετε'; e[6] = args['θ1'] .. 'ουν(ε)'
e[7] = args['θ2'] .. 'α'; e[8] = args['θ2'] .. 'ες'; e[9] = args['θ2'] .. 'ε'
e[10] = args['θ1α'] .. 'αμε'; e[11] = args['θ1α'] .. 'ατε'; e[12] = args['θ2'] .. 'αν<br />' .. args['θ1α'] .. 'αν(ε)'
e[13] = args['θ1'] .. 'οντας'; e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["άω_ώ"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'άω - ' .. args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'άς'
e[3] = args['θ1'] .. 'άει - ' .. args['θ1'] .. 'ά'
e[4] = args['θ1'] .. 'άμε - ' .. args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'άτε'
e[6] = args['θ1'] .. 'άν(ε) - ' .. args['θ1'] .. 'ούν(ε)'
e[7] = args['θ1'] .. 'ούσα'; e[8] = args['θ1'] .. 'ούσες'; e[9] = args['θ1'] .. 'ούσε'
e[10] = args['θ1'] .. 'ούσαμε'; e[11] = args['θ1'] .. 'ούσατε'; e[12] = args['θ1'] .. 'ούσαν(ε)'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or args['θ2'] .. "α"
e[15] = args['πρ2'] or args['θ1'] .. "άτε"
return enestotas0(e)
end
enestotas["άω-ώ2"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'άω - ' .. args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'άς - ' .. args['θ1'] .. 'είς'
e[3] = args['θ1'] .. 'άει - ' .. args['θ1'] .. 'ά - ' .. args['θ1'] .. 'εί'
e[4] = args['θ1'] .. 'άμε - ' .. args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'άτε - ' .. args['θ1'] .. 'είτε'
e[6] = args['θ1'] .. 'άν(ε) - ' .. args['θ1'] .. 'ούν(ε)'
e[7] = args['θ1'] .. 'ούσα'; e[8] = args['θ1'] .. 'ούσες'; e[9] = args['θ1'] .. 'ούσε'
e[10] = args['θ1'] .. 'ούσαμε'; e[11] = args['θ1'] .. 'ούσατε'; e[12] = args['θ1'] .. 'ούσαν'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or args['θ2'] .. "α"
e[15] = args['πρ2'] or args['θ1'] .. "άτε - " .. args['θ1'] .. "είτε"
return enestotas0(e)
end
enestotas["άω_ώ3"] = function (args)-- Αυτά που έχουν δεύτερους τύπους στον παρατατικό πχ αγαπώ
local e = {}
e[1] = args['θ1'] .. 'άω - ' .. args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'άς'
e[3] = args['θ1'] .. 'άει - ' .. args['θ1'] .. 'ά'
e[4] = args['θ1'] .. 'άμε - ' .. args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'άτε'
e[6] = args['θ1'] .. 'άν(ε) - ' .. args['θ1'] .. 'ούν(ε)'
e[7] = args['θ1'] .. 'ούσα - ' .. args['θ2'] ..'αγα'
e[8] = args['θ1'] .. 'ούσες - ' .. args['θ2'] ..'αγες'
e[9] = args['θ1'] .. 'ούσε - ' .. args['θ2'] ..'αγε'
e[10] = args['θ1'] .. 'ούσαμε - ' .. args['θ1'] ..'άγαμε'
e[11] = args['θ1'] .. 'ούσατε - ' .. args['θ1'] ..'άγατε'
e[12] = args['θ1'] .. 'ούσαν(ε) - ' .. args['θ2'] ..'αγαν - ' .. args['θ1'] ..'άγανε'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or args['θ2'] .. 'α - ' .. args['θ2'] ..'αγε'
e[15] = args['πρ2'] or args['θ1'] .. "άτε"
return enestotas0(e)
end
enestotas["άω_ώ4"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'άω - ' .. args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'άς - ' .. args['θ1'] .. 'είς'
e[3] = args['θ1'] .. 'άει - ' .. args['θ1'] .. 'ά - ' .. args['θ1'] .. 'εί'
e[4] = args['θ1'] .. 'άμε - ' .. args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'άτε - ' .. args['θ1'] .. 'είτε'
e[6] = args['θ1'] .. 'άν(ε) - ' .. args['θ1'] .. 'ούν(ε)'
e[7] = args['θ1'] .. 'ούσα - ' .. args['θ2'] ..'αγα'
e[8] = args['θ1'] .. 'ούσες - ' .. args['θ2'] ..'αγες'
e[9] = args['θ1'] .. 'ούσε - ' .. args['θ2'] ..'αγε'
e[10] = args['θ1'] .. 'ούσαμε - ' .. args['θ1'] ..'άγαμε'
e[11] = args['θ1'] .. 'ούσατε - ' .. args['θ1'] ..'άγατε'
e[12] = args['θ1'] .. 'ούσαν(ε) - ' .. args['θ2'] ..'αγαν - ' .. args['θ1'] ..'άγανε'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or args['θ2'] .. "α"
e[15] = args['πρ2'] or args['θ1'] .. "άτε - " .. args['θ1'] .. "είτε"
return enestotas0(e)
end
enestotas["άω-γα"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ω'; e[2] = args['θ1β'] .. 'ς'; e[3] = args['θ1'] .. 'ει'
--ειδικά για το λέω λες
if args['θ1'] == 'λέ' then e[2] = 'λες' end
e[4] = args['θ1'] .. 'με'; e[5] = args['θ1'] .. 'τε'; e[6] = args['θ1'] .. 'νε'
e[7] = args['θ2'] .. 'γα'; e[8] = args['θ2'] .. 'γες'; e[9] = args['θ2'] .. 'γε'
e[10] = args['θ1'] .. 'γαμε'; e[11] = args['θ1'] .. 'γατε'; e[12] = args['θ2'] .. 'γαν<br />' .. args['θ1'] .. 'γανε'
e[13] = args['μτχ1'] or args['θ1'] .. 'γοντας'
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["ώ-άς"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'άς'; e[3] = args['θ1'] .. 'ά'
e[4] = args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'άτε'; e[6] = args['θ1'] .. 'ούν'
e[7] = args['θ1'] .. 'ούσα'; e[8] = args['θ1'] .. 'ούσες'; e[9] = args['θ1'] .. 'ούσε'
e[10] = args['θ1'] .. 'ούσαμε'; e[11] = args['θ1'] .. 'ούσατε'; e[12] = args['θ1'] .. 'ούσαν'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or args['θ2'] .. "α"
e[15] = args['πρ2'] or args['θ1'] .. "άτε"
return enestotas0(e)
end
enestotas["ώ"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ώ'; e[2] = args['θ1'] .. 'είς'; e[3] = args['θ1'] .. 'εί'
e[4] = args['θ1'] .. 'ούμε'; e[5] = args['θ1'] .. 'είτε'; e[6] = args['θ1'] .. 'ούν(ε)'
e[7] = args['θ1'] .. 'ούσα'; e[8] = args['θ1'] .. 'ούσες'; e[9] = args['θ1'] .. 'ούσε'
e[10] = args['θ1'] .. 'ούσαμε'; e[11] = args['θ1'] .. 'ούσατε'; e[12] = args['θ1'] .. 'ούσαν(ε)'
e[13] = args['θ1'] .. 'ώντας'
e[14] = args['πρ1'] or "(" .. args['θ2'] .. "ει)"
e[15] = args['πρ2'] or args['θ1'] .. "είτε"
return enestotas0(e)
end
synoptikoi0 = function (a)
local xr2 = "\n|-\n| " .. xr1 .. " | "
for x=1, 6 do a[x] = a[x] .. "\n| θα " .. a[x+6] .. "\n| να " .. a[x+6] .. "\n| " end
local output = "|-\n! πρόσωπα\n! \n! Αόριστος\n! Συνοπτ. Μέλλ.\n! Υποτακτική\n! Προστακτική\n! align=center | Απαρέμφατο"
output = output .. xr2 .. "α' ενικ.\n| rowspan='6' | \n| " .. a[1] .. "\n| rowspan='6' align='center' |" .. a[13]
output = output .. xr2 .. "β' ενικ.\n| " .. a[2] .. a[14] .. xr2 .. "γ' ενικ.\n| " .. a[3]
output = output .. xr2 .. "α' πληθ.\n| " .. a[4] .. xr2 .. "β' πληθ.\n| " .. a[5] .. a[15]
output = output .. xr2 .. "γ' πληθ.\n| " .. a[6] .. "\n"
return output
end
synoptikoi = {}
synoptikoi['α'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'α'; a[2] = args['θ3'] .. 'ες'; a[3] = args['θ3'] .. 'ε'
a[4] = args['θ4α'] .. 'αμε'; a[5] = args['θ4α'] .. 'ατε'
a[6] = args['θ3'] .. 'αν<br />' .. args['θ4α'] .. 'αν(ε)'
a[7] = args['θ4'] .. 'ω'; a[8] = args['θ4'] .. 'εις'; a[9] = args['θ4'] .. 'ει'
a[10] = args['θ4'] .. 'ουμε'; a[11] = args['θ4'] .. 'ετε'; a[12] = args['θ4'] .. 'ουν(ε)'
a[13] = args['θ4'] .. 'ει'
a[14] = args['πρ3']
a[15] = args['πρ4']
return synoptikoi0(a)
end
-- αόριστοι σε -ήκα όπως μπήκα + είδα, είπα, ήπια
synoptikoi['ήκα-ω'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'α'; a[2] = args['θ3'] .. 'ες'; a[3] = args['θ3'] .. 'ε'
a[4] = args['θ3'] .. 'αμε'; a[5] = args['θ3'] .. 'ατε'; a[6] = args['θ3'] .. 'αν(ε)'
a[7] = args['θ4'] .. 'ω'; a[8] = args['θ4'] .. 'εις'; a[9] = args['θ4'] .. 'ει'
a[10] = args['θ4'] .. 'ούμε'; a[11] = args['θ4'] .. 'είτε'; a[12] = args['θ4'] .. 'ουν'
a[13] = args['θ4'] .. 'ει'
a[14] = args['πρ3'] or args['θ4'] .. "ες"
a[15] = args['πρ4'] or args['θ4'] .. "είτε"
return synoptikoi0(a)
end
-- σύνθετοι αόριστοι σε -ήκα όπως ξαναμπήκα + ξαναείδα, ξαναείπα, ξαναήπια
synoptikoi['ήκα-ώ'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'α'; a[2] = args['θ3'] .. 'ες'; a[3] = args['θ3'] .. 'ε'
a[4] = args['θ3'] .. 'αμε'; a[5] = args['θ3'] .. 'ατε'; a[6] = args['θ3'] .. 'αν(ε)'
a[7] = args['θ4'] .. 'ώ'; a[8] = args['θ4'] .. 'είς'; a[9] = args['θ4'] .. 'εί'
a[10] = args['θ4'] .. 'ούμε'; a[11] = args['θ4'] .. 'είτε'; a[12] = args['θ4'] .. 'ούν(ε)'
a[13] = args['θ4'] .. 'εί'
a[14] = args['πρ3'] or args['θ4'] .. "ές"
a[15] = args['πρ4'] or args['θ4'] .. "είτε"
return synoptikoi0(a)
end
-- διπλοί αόριστοι σε -α και -ισα όπως τράκαρα + τρακάρισα
synoptikoi['α-ισα'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'α - ' .. args['θ4'] .. 'ισα'
a[2] = args['θ3'] .. 'ες - ' .. args['θ4'] .. ''
a[3] = args['θ3'] .. 'ε - ' .. args['θ4'] .. ''
a[4] = args['θ4'] .. 'αμε'; a[5] = args['θ4'] .. 'ατε'
a[6] = args['θ3'] .. 'αν - ' .. args['θ4'] .. 'ισαν'
a[7] = args['θ4'] .. 'ω'; a[8] = args['θ4'] .. 'εις'; a[9] = args['θ4'] .. 'ει'
a[10] = args['θ4'] .. 'ουμε'; a[11] = args['θ4'] .. 'ετε'; a[12] = args['θ4'] .. 'ουν'
a[13] = args['θ4'] .. 'ει'
a[14] = args['πρ3'] or args['θ3'] .. "ε - " .. args['θ4'] .. "ισε"
a[15] = args['πρ4'] or args['θ4'] .. "ετε"
return synoptikoi0(a)
end
synoptikoi['ην-ω'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'ην'; a[2] = args['θ3'] .. 'ης'; a[3] = args['θ3'] .. 'η'
a[4] = args['θ4α'] .. 'ήκαμε'; a[5] = args['θ4α'] .. 'ήκατε'; a[6] = args['θ3'] .. 'ησαν'
a[7] = args['θ4'] .. 'ω'; a[8] = args['θ4'] .. 'εις'; a[9] = args['θ4'] .. 'ει'
a[10] = args['θ4'] .. 'ουμε'; a[11] = args['θ4'] .. 'ετε'; a[12] = args['θ4'] .. 'ουν'
a[13] = args['θ4'] .. 'ει'
a[14] = args['πρ3'] or ''
a[15] = args['πρ4'] or args['θ4'] .. "είτε"
return synoptikoi0(a)
end
synoptikoi['ην-ώ'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'ην'; a[2] = args['θ3'] .. 'ης'; a[3] = args['θ3'] .. 'η'
a[4] = args['θ4α'] .. 'ήκαμε'; a[5] = args['θ4α'] .. 'ήκατε'; a[6] = args['θ3'] .. 'ησαν'
a[7] = args['θ4'] .. 'ώ'; a[8] = args['θ4'] .. 'είς'; a[9] = args['θ4'] .. 'εί'
a[10] = args['θ4'] .. 'ούμε'; a[11] = args['θ4'] .. 'είτε'; a[12] = args['θ4'] .. 'ούν'
a[13] = args['θ4'] .. 'εί'
a[14] = args['πρ3'] or args['θ4'] .. "ές"
a[15] = args['πρ4'] or args['θ4'] .. "είτε"
return synoptikoi0(a)
end
syntelesmenoi1 = function (args)
local ei = args['ei'] or "ει"
local apar = args['θ4'] .. ei
local pr5 = ""
local pr6 = ""
if args['παρακΒ'] ~= nil then
pr5 = "έχε " .. args['μτχ']
pr6 = "έχετε " .. args['μτχ']
end
output = "|-\n! πρόσωπα\n! Παρακείμενος\n! Υπερσυντέλικος\n! Συντελ. Μέλλ.\n! Υποτακτική\n! Προστακτική\n! "
output = output .. "\n|-\n| " .. xr1 .. " | α' ενικ.\n| έχω " .. apar .. "\n| είχα " .. apar .. "\n| θα έχω " .. apar .. "\n| να έχω " .. apar .. "\n| \n| rowspan='6' | "
output = output .. "\n|-\n| " .. xr1 .. " | β' ενικ.\n| έχεις " .. apar .. "\n| είχες " .. apar .. "\n| θα έχεις " .. apar .. "\n| να έχεις " .. apar .. "\n| " .. pr5
output = output .. "\n|-\n| " .. xr1 .. " | γ' ενικ.\n| έχει " .. apar .. "\n| είχε " .. apar .. "\n| θα έχει " .. apar .. "\n| να έχει " .. apar .. "\n| "
output = output .. "\n|-\n| " .. xr1 .. " | α' πληθ.\n| έχουμε " .. apar .. "\n| είχαμε " .. apar .. "\n| θα έχουμε " .. apar .. "\n| να έχουμε " .. apar .. "\n| "
output = output .. "\n|-\n| " .. xr1 .. " | β' πληθ.\n| έχετε " .. apar .. "\n| είχατε " .. apar .. "\n| θα έχετε " .. apar .. "\n| να έχετε " .. apar .. "\n| " .. pr6
output = output .. "\n|-\n| " .. xr1 .. " | γ' πληθ.\n| έχουν " .. apar .. "\n| είχαν " .. apar .. "\n| θα έχουν " .. apar .. "\n| να έχουν " .. apar .. "\n| \n"
return output
end
syntelesmenoi2 = function (mtx)
output = "|-\n| ".. xr1 .. " | Παρακείμενος\n| colspan='6' |έχω (έχεις, έχει, έχουμε, έχετε, έχουν) " .. mtx
output = output .. "\n|-\n| " .. xr1 .. " | Υπερσυντέλικος\n| colspan='6' |είχα (είχες, είχε , είχαμε, είχατε, είχαν) " .. mtx
output = output .. "\n|-\n| " .. xr1 .. " | Συντελ. Μέλλ.\n| colspan='6' |θα έχω (θα έχεις, θα έχει, θα έχουμε, θα έχετε, θα έχουν) " .. mtx
output = output .. "\n|-\n| " .. xr1 .. " | Υποτακτική\n| colspan='6' |να έχω (να έχεις, να έχει, να έχουμε, να έχετε, να έχουν) " .. mtx
return output
end
--Παθητικοί χρόνοι
enestotas["ιέμαι"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ιέμαι'; e[2] = args['θ1'] .. 'ιέσαι'; e[3] = args['θ1'] .. 'ιέται'
e[4] = args['θ1'] .. 'ιόμαστε'; e[5] = args['θ1'] .. 'ιέστε'; e[6] = args['θ1'] .. 'ιούνται'
e[7] = args['θ1'] .. 'ιόμουν(α)'; e[8] = args['θ1'] .. 'ιόσουν(α)'; e[9] = args['θ1'] .. 'ιόταν(ε)'
e[10] = args['θ1'] .. 'ιόμαστε<br />' .. args['θ1'] .. 'ιόμασταν'
e[11] = args['θ1'] .. 'ιόσαστε<br />' .. args['θ1'] .. 'ιόσασταν'
e[12] = args['θ1'] .. 'ιόνταν(ε)<br />' .. args['θ1'] .. 'ιούνταν<br />' .. args['θ1'] .. 'ιόντουσαν'
e[13] = ''
if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'ώμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["ούμαι"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ούμαι'; e[2] = args['θ1'] .. 'είσαι'; e[3] = args['θ1'] .. 'είται'
e[4] = args['θ1'] .. 'ούμαστε'; e[5] = args['θ1'] .. 'είστε'; e[6] = args['θ1'] .. 'ούνται'
e[7] = args['θ1'] .. 'ούμουν'; e[8] = args['θ1'] .. 'ούσουν'; e[9] = args['θ1'] .. 'ούνταν'
e[10] = args['θ1'] .. 'ούμασταν<br />' .. args['θ1'] .. 'ούμαστε'
e[11] = args['θ1'] .. 'ούσασταν<br />' .. args['θ1'] .. 'ούσαστε'; e[12] = args['θ1'] .. 'ούνταν'
e[13] = ''; if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'ούμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["ιέμαι-ούμαι"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ούμαι - ' .. args['θ1'] .. 'ιέμαι'
e[2] = args['θ1'] .. 'είσαι - ' .. args['θ1'] .. 'ιέσαι'
e[3] = args['θ1'] .. 'είται - ' .. args['θ1'] .. 'ιέται'
e[4] = args['θ1'] .. 'ιόμαστε - ' .. args['θ1'] .. 'ούμαστε'
e[5] = args['θ1'] .. 'είστε - ' .. args['θ1'] .. 'ιέστε - ' .. args['θ1'] .. 'ιόσαστε'
e[6] = args['θ1'] .. 'ούνται - ' .. args['θ1'] .. 'ιούνται - ' .. args['θ1'] .. 'ιόνται'
-- Ο παρατατικός θέλει και άλλους τύπους
e[7] = args['θ1'] .. 'ιόμουν(α)'; e[8] = args['θ1'] .. 'ιόσουν(α)'
e[9] = args['θ1'] .. 'ούνταν - ' .. args['θ1'] .. 'ιόταν(ε)'
e[10] = args['θ1'] .. 'ιόμασταν - ' .. args['θ1'] .. 'ιόμαστε'
e[11] = args['θ1'] .. 'ιόσασταν - ' .. args['θ1'] .. 'ιόσαστε'
e[12] = args['θ1']..'ούνταν - ' .. args['θ1'] .. 'ιόνταν(ε) - ' .. args['θ1'] .. 'ιούνταν - ' .. args['θ1'] .. 'ιόντουσαν'
e[13] = ''
if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'ώμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["ούμαι2"] = function (args)
local e = {}
-- δικαιούμαι, το ού είναι σταθερό, περιέχεται στο args['θ1']
e[1] = args['θ1'] .. 'μαι'; e[2] = args['θ1'] .. 'σαι'; e[3] = args['θ1'] .. 'ται'
e[4] = args['θ1'] .. 'μεθα<br />' .. args['θ1'] .. 'μαστε'
e[5] = args['θ1'] .. 'σθε<br />' .. args['θ1'] .. 'στε'; e[6] = args['θ1'] .. 'νται'
e[7] = args['θ1'] .. 'μουν<br />' .. args['θ1'] .. 'μην'
e[8] = args['θ1'] .. 'σουν<br />' .. args['θ1'] .. 'σο'
e[9] = args['θ1'] .. 'νταν<br />' .. args['θ1'] .. 'το'
e[10] = args['θ1'] .. 'μαστε<br />' .. args['θ1'] .. 'μασταν'
e[11] = args['θ1'] .. 'σαστε<br />' .. args['θ1'] .. 'σασταν'
e[12] = args['θ1'] .. 'νταν<br />' .. args['θ1'] .. 'ντο'
e[13] = ''; if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'μενος]]' end
e[14] = args['πρ1'] or ""; e[15] = args['πρ2'] or ""
return enestotas0(e)
end
enestotas["άμαι"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'άμαι<br />' .. args['θ1'] .. 'ούμαι'; e[2] = args['θ1'] .. 'άσαι'; e[3] = args['θ1'] .. 'άται'
e[4] = args['θ1'] .. 'όμαστε<br />' .. args['θ1'] .. 'ούμαστε'
e[5] = args['θ1'] .. 'άστε'; e[6] = args['θ1'] .. 'ούνται'
e[7] = args['θ1'] .. 'όμουν(α)'; e[8] = args['θ1'] .. 'όσουν(α)'; e[9] = args['θ1'] .. 'όταν(ε)'
e[10] = args['θ1'] .. 'όμαστε<br />' .. args['θ1'] .. 'όμασταν'
e[11] = args['θ1'] .. 'όσαστε<br />' .. args['θ1'] .. 'όσασταν'; e[12] = args['θ1'] .. 'ούνταν'
e[13] = ''; if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'ούμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas["ώμαι"] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ώμαι'; e[2] = args['θ1'] .. 'άσαι'; e[3] = args['θ1'] .. 'άται'
e[4] = args['θ1'] .. 'ώμεθα - ' .. args['θ1'] .. 'όμαστε'
e[5] = args['θ1'] .. 'άσθε - ' .. args['θ1'] .. 'άστε'; e[6] = args['θ1'] .. 'ώνται'
e[7] = args['θ1'] .. 'όμουν'; e[8] = args['θ1'] .. 'όσουν'; e[9] = args['θ1'] .. 'όταν';
e[10] = args['θ1'] .. 'όμασταν';e[11] = args['θ1'] .. 'όσασταν';e[12] = args['θ1'] .. 'όνταν - ' .. args['θ1'] .. 'όντουσαν';
e[13] = ''; if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ1'] .. 'ώμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
enestotas['ομαι'] = function (args)
local e = {}
e[1] = args['θ1'] .. 'ομαι'; e[2] = args['θ1'] .. 'εσαι'; e[3] = args['θ1'] .. 'εται'
e[4] = args['θ2'] .. 'όμαστε'; e[5] = args['θ1'] .. 'εστε'; e[6] = args['θ1'] .. 'ονται'
e[7] = args['θ2'] .. 'όμουν(α)'; e[8] = args['θ2'] .. 'όσουν(α)'; e[9] = args['θ2'] .. 'όταν(ε)'
e[10] = args['θ2'] .. 'όμαστε<br />' .. args['θ2'] .. 'όμασταν'
e[11] = args['θ2'] .. 'όσαστε<br />' .. args['θ2'] .. 'όσασταν'
e[12] = args['θ1'] .. 'ονταν<br />' .. args['θ2'] .. 'όντουσαν'
e[13] = ''; if args['μτχ1'] ~= nil then e[13] = '[[' .. args['θ2'] .. 'όμενος]]' end
e[14] = args['πρ1']; e[15] = args['πρ2']
return enestotas0(e)
end
-- παθητικοί συνοπτικοί
synoptikoi['ηκα-ώ'] = function (args)
local a ={}
a[1] = args['θ3'] .. 'ηκα'; a[2] = args['θ3'] .. 'ηκες'; a[3] = args['θ3'] .. 'ηκε'
a[4] = args['θ4'] .. 'ήκαμε'; a[5] = args['θ4'] .. 'ήκατε'; a[6] = args['θ3'] .. 'ηκαν<br />' .. args['θ4'] .. 'ήκαν(ε)'
a[7] = args['θ4'] .. 'ώ'; a[8] = args['θ4'] .. 'είς'; a[9] = args['θ4'] .. 'εί'
a[10] = args['θ4'] .. 'ούμε'; a[11] = args['θ4'] .. 'είτε'; a[12] = args['θ4'] .. 'ούν(ε)'
a[13] = args['θ4'] .. 'εί'; a[14] = args['πρ3']; a[15] = args['πρ4']
return synoptikoi0(a)
end
syntelesmenoi1p = function (args)
local apar = args['θ4'] .. "εί"
local mtx = ""
if args['μτχ'] ~= nil and args['μτχ'] ~= "-" and args['μτχ'] ~= "" then mtx = "[[" .. args['μτχ'] .. "ς]]" end
local output = "|-\n! πρόσωπα\n! Παρακείμενος\n! Υπερσυντέλικος\n! Συντελ. Μέλλ.\n! Υποτακτική\n! Προστακτική\n! Μετοχή"
output = output .. "\n|-\n| " .. xr1 .. " | α' ενικ.\n| έχω " .. apar .. "\n| είχα " .. apar .. "\n| θα έχω " .. apar .. "\n| να έχω " .. apar .. "\n| rowspan='6' | \n| rowspan='6' align='center'| " .. mtx
output = output .. "\n|-\n| " .. xr1 .. " | β' ενικ.\n| έχεις " .. apar .. "\n| είχες " .. apar .. "\n| θα έχεις " .. apar .. "\n| να έχεις " .. apar
output = output .. "\n|-\n| " .. xr1 .. " | γ' ενικ.\n| έχει " .. apar .. "\n| είχε " .. apar .. "\n| θα έχει " .. apar .. "\n| να έχει " .. apar
output = output .. "\n|-\n| " .. xr1 .. " | α' πληθ.\n| έχουμε " .. apar .. "\n| είχαμε " .. apar .. "\n| θα έχουμε " .. apar .. "\n| να έχουμε " .. apar
output = output .. "\n|-\n| " .. xr1 .. " | β' πληθ.\n| έχετε " .. apar .. "\n| είχατε " .. apar .. "\n| θα έχετε " .. apar .. "\n| να έχετε " .. apar
output = output .. "\n|-\n| " .. xr1 .. " | γ' πληθ.\n| έχουν " .. apar .. "\n| είχαν " .. apar .. "\n| θα έχουν " .. apar .. "\n| να έχουν " .. apar
return output
end
syntelesmenoi3 = function (mtx)
local output = "|-\n| ".. xr1 .. " | Παρακείμενος\n| colspan='6' |[[είμαι]], είσαι, είναι [[" .. mtx .. "ς]] - είμαστε, είστε, είναι " .. mtx .."ι"
output = output .. "\n|-\n| " .. xr1 .. " | Υπερσυντέλικος\n| colspan='6' |ήμουν, ήσουν, ήταν " .. mtx .. "ς - ήμαστε, ήσαστε, ήταν " .. mtx .."ι"
output = output .. "\n|-\n| " .. xr1 .. " | Συντελ. Μέλλ.\n| colspan='6' |θα είμαι, θα είσαι, θα είναι " .. mtx .. "ς - θα είμαστε, θα είστε, θα είναι " .. mtx .."ι"
output = output .. "\n|-\n| " .. xr1 .. " | Υποτακτική\n| colspan='6' |να είμαι, να είσαι, να είναι " .. mtx .. "ς - να είμαστε, να είστε, να είναι " .. mtx .."ι"
return output
end
fulltable_new1 = function (args)
local output = [=[<div class="NavFrame" style="clear:both;">
<div class="NavHead" align="left"> Ενεργητική φωνή</div>
<div class="NavContent">
{|]=] .. style1 .. [=[
|-
! colspan="7" style="background:#e2e4c0; text-align:center" | Εξακολουθητικοί χρόνοι ]=]
output = output .. '\n' .. enestotas[args['ενεστ']](args)
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συνοπτικοί χρόνοι'
output = output .. '\n' .. synoptikoi[args['συνοπτ']](args)
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συντελεσμένοι χρόνοι'
output = output .. '\n' .. syntelesmenoi1(args)
if args['παρακΒ'] ~= nil then
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συντελεσμένοι χρόνοι β΄ (μεταβατικοί)'
output = output .. '\n' .. syntelesmenoi2(args['μτχ'])
end
if args['παρακΓ'] ~= nil then
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συντελεσμένοι χρόνοι β΄ (αμετάβατοι)'
output = output .. '\n' .. syntelesmenoi3(args['μτχ'])
end
output = output .. '\n\n|}\n</div></div>'
return output
end
fulltable_new2p = function (args)
local output = [=[<div class="NavFrame" style="clear:both;">
<div class="NavHead" align="left"> Παθητική φωνή</div>
<div class="NavContent">
{|]=] .. style1 .. [=[
|-
! colspan="7" style="background:#e2e4c0; text-align:center" | Εξακολουθητικοί χρόνοι ]=]
output = output .. '\n' .. enestotas[args['ενεστ']](args)
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συνοπτικοί χρόνοι'
output = output .. '\n' .. synoptikoi[args['συνοπτ']](args)
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συντελεσμένοι χρόνοι'
output = output .. '\n' .. syntelesmenoi1p(args)
if args['παρακΒ'] ~= nil then
output = output .. '\n|-\n! colspan="7" style="background:#e2e4c0; text-align:center" | Συντελεσμένοι χρόνοι (β΄ τύποι)'
output = output .. '\n' .. syntelesmenoi3(args['μτχ'])
end
output = output .. '\n\n|}\n</div></div>'
return output
end
-- Πρώτο πειραματικό πρότυπο, θέλει ως παράμετρο τον Αόριστο
_module.drosizo = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['θ1'] = mw.ustring.sub(lemma,1,-2)
if args['θ1α'] == nil then args['θ1α'] = args['θ1'] end
args['θ2'] = _module.neostonos2(args['θ1'], args['συνίζ'])
args['θ3'] = mw.ustring.sub(args['αορ'],1,-2)
args['θ4'] = neostonos(removeaccent(args['θ3']))
if args['θ4α'] == nil then args['θ4α'] = args['θ4'] end
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "ετε" end
if args['μτχ'] ~= nil then
args['παρακΒ'] = "1"
end
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- Για το πρότυπο "{{el-κλίσ-δροσίζω}}" που χρειάζεται παραμέτρους για τα θέματα
_module.energitiko_1 = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or ''
args['θ1'] = args[1] or mw.ustring.sub(lemma,1,-2)
args['θ2'] = args[2]
if args['θ1α'] == nil then args['θ1α'] = args['θ1'] end
args['θ4'] = args[3]
if args['θ4α'] == nil then args['θ4α'] = args['θ4'] end -- allow override (για το 'παίρνω')
args['θ3'] = args[4]
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = args[5] .. "ένο"
args['παρακΒ'] = true
end
if args['παρακΒ'] == "0" then args['παρακΒ'] = nil end
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- Για το πρότυπο "{{el-κλίσ-'δένω'}}" που δέχεται παραμέτρους για τα θέματα και τις προθέσεις
_module.energitiko_2 = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or ''
local proth1 = args[6] or ''
local proth2 = args[7] or ''
local proth3 = args[8] or ''
args['θ1'] = proth1 .. args[1] or mw.ustring.sub(lemma,1,-2)
args['θ2'] = proth2 .. 'έ' .. args[2]
args['θ4'] = proth1 .. args[3]
args['θ3'] = proth2 .. 'έ' .. args[4]
args['θ1α'] = args['θ1']
args['θ4α'] = args['θ4']
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = proth1 .. args[5] .. "ένο"
args['παρακΒ'] = true
end
if args['παρακΒ'] == "0" then args['παρακΒ'] = nil end
if args['πρ1'] == nil then
if args[8] == nil then
args['πρ1'] = args['θ1'] .. "ε"
else
args['πρ1'] = proth3 .. args[2] .. "ε"
end
end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then
if args[8] == nil then
args['πρ3'] = args['θ4'] .. "ε"
else
args['πρ3'] = proth3 .. args[4] .. "ε"
end
end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- Για το πρότυπο "{{el-κλίσ-'ακούω'}}"
_module.akouo = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or ''
args['θ1'] = args[1] or mw.ustring.sub(lemma,1,-2)
args['θ1β'] = args['θ1']
args['θ2'] = args[2] or _module.neostonos2(args['θ1'])
args['θ4'] = args[3] or args['θ1'] .. "σ"
args['θ4α'] = args['θ4']
args['θ3'] = args[4] or _module.neostonos2(args['θ4'])
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = args[5] .. "ένο"
args['παρακΒ'] = true
end
if args['παρακΒ'] == "0" then args['παρακΒ'] = nil end
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "γε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
args['ενεστ'] = 'άω-γα'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
_module.spao = function(frame)
local args = frame:getParent().args
local lemma = ""
local proth = args['προθ'] or ''
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or ''
args['θ1'] = mw.ustring.sub(lemma,1,-2) --σπά
if proth == '' then
args['θ1β'] = removeaccent(args['θ1']) --σπα
else
args['θ1β'] = args['θ1']
end
args['θ2'] = proth .. 'έ' .. args['θ1β'] --έσπα
args['θ4'] = args['θαορ'] or args['θ1'] .. "σ" --σπάσ
args['θ4'] = proth .. args['θ4']
args['θ4α'] = args['θ4']
args['θ3'] = 'έ' .. removeaccent(args['θ4']) --έσπασ
args['θ3'] = proth .. args['θ3']
local xmtx = args['χμτχ'] or 'σμ'
if args['μτχ'] == nil then args['μτχ'] = args['θ1β'] .. xmtx .. "ένο" end
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. "γε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "γετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ4'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
args['ενεστ'] = 'άω-γα'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- Για ενεργητικά χωρίς συνοπτικούς χρόνους
_module.ksero = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['θ1'] = args[1] or arg2[1] or mw.ustring.sub(lemma,1,-2)
args['θ1α'] = args[3] or arg2[3] or args['θ1']
args['θ2'] = args[2] or arg2[2] or removeaccent(args['θ1'])
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
local output = "{|" .. style1 .. "\n" .. enestotas['ω'](args) .. "\n|}"
return frame:preprocess(output)
end
--Ρήματα της 2ης συζυγίας χωρίς συνοπτικούς χρόνους
_module.agonio = function(frame)
local args = frame:getParent().args
arg2 = frame.args
local enest = args['ενεστ'] or arg2['ενεστ'] or 'ώ-άς'
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['θ1'] = mw.ustring.sub(lemma,1,-2)
args['θ2'] = neostonos(args['θ1'])
--if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "α" end
--if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "άτε" end
local output = "{|" .. style1 .. "\n" .. enestotas[enest](args) .. "\n|}"
return frame:preprocess(output)
end
-- Για τα πρότυπα που δεν χρειάζονται τα θέματα ως παραμέτρους
_module.nomizo = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local xar = tonumber(args['χαρ']) or tonumber(arg2['χαρ']) or 1
local sigma = args['σ'] or arg2['σ'] or 'σ'
local xmtx = args['χμτχ'] or arg2['χμτχ'] or 'σμ'
local pr4 = args['pr4'] or arg2['pr4'] or '' -- μπορεί να πάρει την τιμή 'έ'
args['θ1'] = mw.ustring.sub(lemma,1,-2) --νομίζ
args['θ1α'] = args['θ1']
args['θ2'] = _module.neostonos2(args['θ1'], args['συνίζ']) --νόμιζ
local stem2 = mw.ustring.sub(lemma,1,-xar-2) --νομί
local anelkuw = args['υ'] or ''
if anelkuw ~= '' then stem2 = mw.ustring.sub(lemma,1,-xar-1) end
args['θ4'] = stem2 .. sigma --νομίσ
args['θ4α'] = args['θ4']
args['θ3'] = _module.neostonos2(args['θ4'], args['συνίζ']) --νόμισ
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
if args['μτχ'] == nil then args['μτχ'] = removeaccent(stem2) .. xmtx .. "ένο" end
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
_module.sozo = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local xar = tonumber(args['χαρ']) or tonumber(arg2['χαρ']) or 1
local sigma = args['σ'] or arg2['σ'] or "σ"
local xmtx = args['χμτχ'] or arg2['χμτχ'] or "σμ"
local pr4 = args['pr4'] or arg2['pr4'] or ''
args['θ1'] = mw.ustring.sub(lemma,1,-2) -- σώζ
args['θ1α'] = args['θ1']
args['θ2'] = "έ" .. removeaccent(args['θ1']) -- έσωσ
local stem2 = mw.ustring.sub(lemma,1,-xar-2) -- σώ
args['θ4'] = stem2 .. sigma -- σώσ
args['θ4α'] = args['θ4']
local stem3 = removeaccent(stem2) -- σωσ
args['θ3'] = "έ" .. removeaccent(args['θ4']) -- έσωσ
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ4'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. pr4 .. "τε" end
if args['μτχ'] == nil then
args['μτχ'] = stem3 .. xmtx .. "ένο"
else
args['μτχ'] = mw.ustring.sub(args['μτχ'],1,-2)
end
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
_module.euw1 = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
sigma = args['σ'] or arg2['σ'] or "ψ"
xmtx = args['χμτχ'] or arg2['χμτχ'] or "μ"
args['θ1'] = mw.ustring.sub(lemma,1,-2) --παντρεύ
args['θ2'] = _module.neostonos2(args['θ1'], nil) --πάντρευ
args['θ1α'] = args['θ1']
if sigma == "ψ" then stem2 = mw.ustring.sub(lemma,1,-4) .. 'έ' --παντρέ
else stem2 = args['θ1'] end
args['θ4'] = stem2 .. sigma --παντρέψ
args['θ4α'] = args['θ4']
if args['θ3'] == nil then args['θ3'] = _module.neostonos2(args['θ4'], nil) end --πάντρεψ
if sigma == "ψ" then stem3 = mw.ustring.sub(lemma,1,-3) --παντρε
else stem3 = removeaccent(args['θ1']) end --παντρευ
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "τε" end
args['μτχ'] = stem3 .. xmtx .. "ένο"
args['ενεστ'] = 'ω'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- μπαίνω, βγαίνω, πίνω, βλέπω, λέω
_module.mpaino = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local proth = args['προθ'] or ''
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
lemma = mw.ustring.sub(lemma,mw.ustring.len(proth)+1,-1)
end
local xar = tonumber(args['χαρ']) or tonumber(arg2['χαρ']) or 3
local xmtx = args['χμτχ'] or arg2['χμτχ'] or "σμ"
local st1 = mw.ustring.sub(lemma,1,-2)
args['θ1'] = proth .. st1 -- (ξανα)μπαίν
args['θ1α'] = args['θ1']
args['θ2'] = proth .. "έ" .. removeaccent(st1) -- (ξανα)έμπαιν
local st2 = args['θμελλ'] or mw.ustring.sub(lemma,1,-xar-2) -- μπ
args['θ4'] = proth .. st2 -- ξαναμπ
args['θ3'] = args['θαορ'] or st2 .. 'ήκ' -- μπήκ
args['θ3'] = proth .. args['θ3']
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. 'ε' end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. 'ετε' end
if args['μτχ'] == nil then
args['μτχ'] = args['θ4'] .. 'α' .. xmtx .. 'ένο'
else
args['μτχ'] = mw.ustring.sub(args['μτχ'],1,-2)
end
if args['ενεστ'] == nil then args['ενεστ'] = 'ω' end
if args['προθ'] == nil then
args['συνοπτ'] = 'ήκα-ω'
else
args['συνοπτ'] = 'ήκα-ώ'
args['ei'] = 'εί'
end
return frame:preprocess(fulltable_new1(args))
end
-- 2η συζυγία, 1η τάξη
_module.agapo = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local fa = args['φαορ'] or arg2['φαορ'] or "η" -- μπορεί να είναι «ε» ή «η»
local sa = args['σ'] or arg2['σ'] or "σ"
local xmtx = args['χμτχ'] or arg2['χμτχ'] or "μ"
local orio = -2
if mw.ustring.sub(lemma,-2,-1) == 'άω' then orio = -3 end
args['θ1'] = mw.ustring.sub(lemma, 1, orio) --αγαπ
args['θ2'] = neostonos(args['θ1']) --αγάπ
args['θ3'] = args['θαορ'] or args['θ2'] .. fa .. sa --αγάπησ
args['θ4'] = neostonos(removeaccent(args['θ3'])) --αγαπήσ
args['θ4α'] = args['θ4']
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "α - " .. args['θ2'] .. "αγε" end
if args['πρ3'] == nil then args['πρ3'] = args['θ2'] .. "α - " .. args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "τε" end
args['μτχ'] = args['θ1'] .. fa .. xmtx .. "ένο"
if args['ενεστ'] == nil then args['ενεστ'] = arg2['ενεστ'] or 'άω_ώ' end
if args['παρατΒ'] == '1' and args['ενεστ'] == 'άω_ώ' then args['ενεστ'] = 'άω_ώ3' end -- Ρήματα με δεύτερους τύπος παρατατικού πχ αγαπαγα
if args['παρατΒ'] == '1' and args['ενεστ'] == 'άω-ώ2' then args['ενεστ'] = 'άω_ώ4' end -- Ρήματα με δεύτερους τύπος παρατατικού πχ ζήταγα
args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- 2η συζυγία, 2η τάξη
_module.theoro = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local fa = args['φαορ'] or arg2['φαορ'] or "η" -- μπορεί να είναι «ε» ή «η»
local sa = args['σ'] or arg2['σ'] or "σ"
local xmtx = args['χμτχ'] or arg2['χμτχ'] or "μ"
args['θ1'] = mw.ustring.sub(lemma,1,-2) --θεωρ
args['θ2'] = neostonos(args['θ1']) --θεώρ
args['θ3'] = args['θ2'] .. fa .. sa --θεώρησ
args['θ4'] = neostonos(removeaccent(args['θ3'])) --θεωρήσ
args['θ4α'] = args['θ4']
if args['πρ3'] == nil then args['πρ3'] = args['θ3'] .. "ε" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "τε" end
args['μτχ'] = args['θ1'] .. fa .. xmtx .. "ένο"
args['ενεστ'] = 'ώ'; args['συνοπτ'] = 'α'
return frame:preprocess(fulltable_new1(args))
end
-- Για παθητικά χωρίς συνοπτικούς χρόνους
_module.anamenomai = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local enest = args['ενεστ'] or 'ομαι'
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['θ1'] = args[1] or arg2[1] or mw.ustring.sub(lemma,1,-5)
args['θ2'] = args[2] or arg2[2] or removeaccent(args['θ1'])
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. "ου" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "εστε" end
local output = "{|" .. style1 .. "\n" .. enestotas[enest](args) .. "\n|}"
return frame:preprocess(output)
end
-- Παθητικά Α΄ συζυγίας
-- Για το πρότυπο "δένομαι" που χρειάζεται τα θέματα ως παραμέτρους
_module.denomai = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['ενεστ'] = 'ομαι'; args['συνοπτ'] = 'ηκα-ώ'
args['θ1'] = args[1] or mw.ustring.sub(lemma,1,-5)
args['θ2'] = args[2]
args['θ3'] = args[3]
args['θ4'] = args['4']
if (args[6] == nil or args[6] == '') and args['πρ3'] == nil then args['πρ3'] = '' end
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = args[5] .. "ένο"
else
args['μτχ'] = nil
end
if args['πρ1'] == nil then args['πρ1'] = args['θ1'] .. "ου" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "εστε" end
if args['πρ3'] == nil then args['πρ3'] = args[6] .. "ου" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "είτε" end
return frame:preprocess(fulltable_new2p(args))
end
_module.omai1 = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['ενεστ'] = 'ομαι'; args['συνοπτ'] = 'ηκα-ώ'
local theta = args['χαορ'] or arg2['χαορ'] or 'στ' -- μπορεί να είναι θ, χτ, φτ
local sigma = args['σ'] or arg2['σ'] or 'σ' -- μπορεί να είναι σ, ξ, ψ
local xmtx = args['χμτχ'] or arg2['χμτχ'] or 'σμ' -- μπορεί να είναι μ, σμ, γμ, μμ ή - όταν δεν έχει μετοχή
local xar = tonumber(args['χαρ']) or tonumber(arg2['χαρ']) or 1 --στο ρίχνομαι πρέπει ο χρήστης να μας δώσει χαρ=2
local orio = -5
if mw.ustring.sub(lemma,-4,-1) ~= 'ομαι' then orio = -2 end
args['θ1'] = mw.ustring.sub(lemma,1,orio) --ψηφίζ-ομαι
args['θ2'] = removeaccent(args['θ1']) --ψηφιζ-όμουν
local st0 = mw.ustring.sub(args['θ1'],1,-xar-1) --ψηφί
args['θ3'] = st0 .. theta --ψηφίστ-ηκα
args['θ4'] = removeaccent(args['θ3']) --ψηφιστ-ώ
args['θ5'] = st0 .. sigma --ψηφίσ-ου
if args['πρ1'] == nil then args['πρ1'] = "(" .. args['θ1'] .. "ου)" end
if args['πρ2'] == nil then args['πρ2'] = "(" .. args['θ1'] .. "εστε)" end
if args['πρ3'] == nil then args['πρ3'] = args['θ5'] .. "ου" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "είτε" end
if xmtx == '-' then args['μτχ'] = '-' end
if args['μτχ'] == nil then
args['μτχ'] = removeaccent(st0) .. xmtx .. 'ένο' --ψηφι..σμ..ένο(ς)
else
args['μτχ'] = mw.ustring.sub(args['μτχ'],1,-2)
end
return frame:preprocess(fulltable_new2p(args))
end
_module.pantreuomai = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
args['ενεστ'] = 'ομαι'; args['συνοπτ'] = 'ηκα-ώ'
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local theta = args['χαορ'] or arg2['χαορ'] or 'τ' -- μπορεί να είναι θ, χτ, φτ
local sigma = args['σ'] or arg2['σ'] or 'ψ'
local xmtx = args['χμτχ'] or arg2['χμτχ'] or 'μ' -- μπορεί να είναι μ, υμ, γμ, μμ
local orio = -5
if mw.ustring.sub(lemma,-4,-1) ~= 'ομαι' then orio = -2 end
args['θ1'] = mw.ustring.sub(lemma,1,orio) --παντρεύ
args['θ2'] = removeaccent(args['θ1']) --παντρευ-όμουν
local st0 = mw.ustring.sub(args['θ1'],1,-2) --παντρε
local st1 = neostonos(st0) --παντρέ
if sigma == "σ" then st1 = args['θ1'] end --προστατεύ
args['θ3'] = args['θ1'] .. theta --παντρεύτ-ηκα
args['θ4'] = removeaccent(args['θ3']) --παντρευτ-ώ
args['θ5'] = st1 .. sigma --παντρέψ-ου
if args['πρ1'] == nil then args['πρ1'] = "(" .. args['θ1'] .. "ου)" end
if args['πρ2'] == nil then args['πρ2'] = "(" .. args['θ1'] .. "εστε)" end
if args['πρ3'] == nil then args['πρ3'] = args['θ5'] .. "ου" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "είτε" end
-- need |μτχ=συνδεδεμένο στο [[συνδέω]]. Ελέγχω και [[σείομαι]] (με μτχ=-) και [[απολύομαι]] κανονικό
if args['μτχ'] ~= nil and args['μτχ'] == args['μτχ'] and args['μτχ'] ~= "-" then args['μτχ'] = args['μτχ'] else
if args['μτχ'] == nil then
if sigma == "σ" then
args['μτχ'] = args['θ2'] .. xmtx .. 'ένο'
else
args['μτχ'] = st0 .. xmtx .. 'ένο'
end
else
args['μτχ'] = mw.ustring.sub(args['μτχ'],1.-2)
end
end
return frame:preprocess(fulltable_new2p(args))
end
--Παθητικά 2η συζυγία
_module.iemai = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
if args['ενεστ'] == nil then
args['ενεστ'] = arg2['ενεστ'] or 'ιέμαι'
end
args['συνοπτ'] = 'ηκα-ώ'
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local fa = args['φαορ'] or arg2['φαορ'] or 'ή'
local theta = args['χαορ'] or arg2['χαορ'] or 'θ' -- μπορεί να είναι ήθ, έστ ;;
local sigma = args['σ'] or arg2['σ'] or 'σ'
local xmtx = args['χμτχ'] or arg2['χμτχ'] or 'μ' -- μπορεί να είναι μ, υμ, γμ, μμ
local orio = -mw.ustring.len(args['ενεστ'])-1
if mw.ustring.sub(lemma,-1,-1) == 'ώ' then orio = -2 end
if mw.ustring.sub(lemma,-2,-1) == 'άω' then orio = -3 end
args['θ1'] = mw.ustring.sub(lemma,1,orio) --αγαπ-ιέμαι
local st0 = args['θ1'] .. fa --αγαπή
args['θ3'] = args['θαορ'] or st0 .. theta --αγαπήθ-ηκα
args['θ4'] = removeaccent(args['θ3']) --αγαπηθ-ώ
args['θ5'] = st0 .. sigma --αγαπήσ-ου
args['πρ1'] = '';
if args['πρ2'] == nil then
if args['ενεστ'] == 'ιέμαι' then
args['πρ2'] = args['θ1'] .. 'ιέστε' -- test αγαπιέμαι
elseif args['ενεστ'] == 'ούμαι' then
args['πρ2'] = args['θ1'] .. 'είστε' -- test θεωρούμαι
elseif args['ενεστ'] == 'ώμαι' then
args['πρ2'] = args['θ1'] .. 'άσθε - ' .. args['θ1'] .. 'άστε' -- test εγγυώμαι
else --ιέμαι-ούμαι
args['πρ2'] = args['θ1'] .. 'είστε - ' .. args['θ1'] .. 'ιέστε' -- test ?
end
end
if args['πρ3'] == nil then args['πρ3'] = args['θ5'] .. "ου" end
if args['πρ4'] == nil then args['πρ4'] = args['θ4'] .. "είτε" end
if args['μτχ'] == nil then
args['μτχ'] = removeaccent(st0) .. xmtx .. 'ένο'
else
args['μτχ'] = mw.ustring.sub(args['μτχ'],1,-2)
end
return frame:preprocess(fulltable_new2p(args))
end
-- Για παθητικά 2ης συζυγίας χωρίς συνοπτικούς χρόνους
_module.dikaioumai = function(frame)
local args = frame:getParent().args
local arg2 = frame.args
local enest = args['ενεστ'] or 'ούμαι2'
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
args['θ1'] = args[1] or arg2[1] or mw.ustring.sub(lemma,1,-4)
local output = "{|" .. style1 .. "\n" .. enestotas[enest](args) .. "\n|}"
return frame:preprocess(output)
end
-- για παράγωγα του "βαίνω" (ανεβαίνω, κατεβαίνω, με αόριστο δημοτικής)
_module.anevaino = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or 'εί'
if args['χαορ'] == nil then args['χαορ'] = 'ήκ' end
args['θ1'] = args[1] or mw.ustring.sub(lemma,1,-2)
args['θ2'] = args[2]
if args['θ1α'] == nil then args['θ1α'] = args['θ1'] end
args['θ4'] = args[3]
args['θ3'] = args[4]
local stem = removeaccent(args['θ4'])
if stem == args['θ4'] then
args['ei'] = 'εί'
args['συνοπτ'] = 'ηκα-ώ'
args['θ4α'] = args['θ4'] .. args['χαορ']
else
args['θ3'] = args['θ3'] .. removeaccent(args['χαορ'])
args['συνοπτ'] = 'α'
args['θ4α'] = stem .. args['χαορ']
end
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = args[5] .. "ένο"
args['παρακΒ'] = true
end
if args['παρακΒ'] == "0" then args['παρακΒ'] = nil end
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ3'] == nil then args['πρ3'] = args[4] .. "α" end
if args['πρ4'] == nil then args['πρ4'] = removeaccent(args['θ4']) .. pr4 .. "τε" end
args['ενεστ'] = 'ω'
return frame:preprocess(fulltable_new1(args))
end
-- για παράγωγα του "βαίνω" (ανεβαίνω, κατεβαίνω, με αόριστο καθαρεύουσας)
_module.provaino = function(frame)
local args = frame:getParent().args
local lemma = ""
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local pr4 = args['pr4'] or 'εί'
args['θ1'] = args[1] or mw.ustring.sub(lemma,1,-2)
args['θ2'] = args[2]
args['θ1α'] = args['θ1']
args['θ3'] = args[4]
args['θ4'] = args[3]
local stem = removeaccent(args['θ4'])
if stem == args['θ4'] then
args['ei'] = 'εί'
args['συνοπτ'] = 'ην-ώ'
args['θ4α'] = args['θ4']
else
args['συνοπτ'] = 'ην-ω'
args['θ4α'] = stem
end
if args[5] ~= nil and args[5] ~= "" then
args['μτχ'] = args[5] .. "ένο"
args['παρακΒ'] = true
end
if args['παρακΒ'] == "0" then args['παρακΒ'] = nil end
if args['πρ1'] == nil then args['πρ1'] = args['θ2'] .. "ε" end
if args['πρ2'] == nil then args['πρ2'] = args['θ1'] .. "ετε" end
if args['πρ4'] == nil then args['πρ4'] = removeaccent(args['θ4']) .. pr4 .. "τε" end
args['ενεστ'] = 'ω'
return frame:preprocess(fulltable_new1(args))
end
return _module