Module:grc-nouns-decl-old
Documentation for this module may be created at Module:grc-nouns-decl-old/τεκμηρίωση
-- 2014-2022 by Flyax
-- 2022 cf [[Module:grc-nouns-decl]]
_module = {}
--σταθερές
kataliksicolor = 'DeepPink'
-- συναρτήσεις και μεταβλητές που δεν μπορουν να κληθούν απέξω
-- χρωματισμός κατάληξης
function _xk(kataliksi)
return '<span style="color:' .. kataliksicolor ..';">' .. kataliksi .. '</span>'
end
errorhere = function(errstring)
return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης]]'
end
exeikati = function(onearg)
if onearg == nil then
return false
end
return (mw.ustring.len(onearg) > 0)
end
getargs = function (frame)
local args = frame:getParent().args
local title = mw.title.getCurrentTitle()
local einaistons0 = title:inNamespace(0)
args['string_errorinlemma'] = ''
local haserror = false
if einaistons0 then
PAGENAME = title.text
--αφαίρεση κενών στην αρχή και στο τέλος
args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else --αλλιώς
--αν έχει δώσει παράμετρο λήμμα
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
--do nothing. lemma = args['λήμμα']
else--αλλιώς εμφάνισε λάθος. Είναι σε άλλο χώρο και πρέπει να έχει παράμετρο.
--προφανώς θα θέλει λίγο προσοχή στα Πρότυπα όπου θα βγάζει λάθος αν δεν είναι includeonly
args['string_errorinlemma'] = 'Σφάλμα! Δεν δόθηκε η παράμετρος λήμμα.'
end
end
--πλέον θα υπάρχουν:
----args['string_errorinlemma'] :κενό αν δεν έχει βρει σφάλμα ή το μήνυμα του σφάλματος
----args['λήμμα'] :το λήμμα που θα "επεξεργαστούμε"
return args
end
---- τονισμός άτονου με οξεία
---- υπάρχουν πολλά ζευγάρια ακόμη να συμπληρωθούν, πχ κεφαλαία με ή χωρίς πνεύμα κλπ
atona = { ['α'] = 'ά', ['ᾳ'] = 'ᾴ', ['ἀ'] = 'ἄ', ['ἁ'] = 'ἅ',
['ε'] = 'έ', ['ἐ'] = 'ἔ', ['ἑ'] = 'ἕ',
['η'] = 'ή', ['ῃ'] = 'ῄ', ['ἠ'] = 'ἤ', ['ἡ'] = 'ἥ',
['ι'] = 'ί', ['ϊ'] = 'ΐ', ['ἰ'] = 'ἴ', ['ἱ'] = 'ἵ',
['ο'] = 'ό', ['ὀ'] = 'ὄ', ['ὁ'] = 'ὅ',
['υ'] = 'ύ', ['ϋ'] = 'ΰ', ['ὐ'] = 'ὔ', ['ὑ'] = 'ὕ',
['ω'] = 'ώ', ['ῳ'] = 'ῴ', ['ὠ'] = 'ὤ', ['ὡ'] = 'ὥ'
}
---- αφαίρεση του τόνου
tonismena = {
['ό'] = 'ο', ['ὄ'] = 'ὀ', ['ὅ'] = 'ὁ', ['Ὄ'] = 'Ὀ', ['Ὅ'] = 'Ὁ',
['έ'] = 'ε', ['ἔ'] = 'ἐ', ['ἕ'] = 'ἑ', ['Ἔ'] = 'Ἐ', ['Ἕ'] = 'Ἑ',
['ά'] = 'α', ['ᾶ'] = 'α', ['ᾴ'] = 'ᾳ', ['ᾷ'] = 'ᾳ',
['ἄ'] = 'ἀ', ['ἆ'] = 'ἀ', ['ᾄ'] = 'ᾀ', ['ᾆ'] = 'ᾀ',
['ἅ'] = 'ἁ', ['ἇ'] = 'ἁ', ['ᾅ'] = 'ᾁ', ['ᾇ'] = 'ᾁ',
['Ἄ'] = 'Ἀ', ['Ἆ'] = 'Ἀ', ['Ἅ'] = 'Ἁ', ['Ἇ'] = 'Ἁ',
['ή'] = 'η', ['ῆ'] = 'η', ['ῄ'] = 'ῃ', ['ῇ'] = 'ῃ',
['ἤ'] = 'ἠ', ['ἦ'] = 'ἠ', ['ᾔ'] = 'ᾐ', ['ᾖ'] = 'ᾐ',
['ἥ'] = 'ἡ', ['ἧ'] = 'ἡ', ['ᾕ'] = 'ᾑ', ['ᾗ'] = 'ᾑ',
['Ἤ'] = 'Ἠ', ['Ἦ'] = 'Ἠ', ['Ἥ'] = 'Ἡ', ['Ἧ'] = 'Ἡ',
['ώ'] = 'ω', ['ῶ'] = 'ω', ['ῴ'] = 'ῳ', ['ῷ'] = 'ῳ',
['ὤ'] = 'ὠ', ['ὦ'] = 'ὠ', ['ᾤ'] = 'ᾠ', ['ᾦ'] = 'ᾠ',
['ὥ'] = 'ὡ', ['ὧ'] = 'ὡ', ['ᾥ'] = 'ᾡ', ['ᾧ'] = 'ᾡ',
['Ὤ'] = 'Ὠ', ['Ὦ'] = 'Ὠ', ['Ὥ'] = 'Ὡ', ['Ὧ'] = 'Ὡ',
['ί'] = 'ι', ['ΐ'] = 'ϊ', ['ῖ'] = 'ι',
['ἴ'] = 'ἰ', ['ἶ'] = 'ἰ', ['ἵ'] = 'ἱ', ['ἷ'] = 'ἱ',
['Ἴ'] = 'Ἰ', ['Ἶ'] = 'Ἰ', ['Ἵ'] = 'Ἱ', ['Ἷ'] = 'Ἱ',
['ύ'] = 'υ', ['ΰ'] = 'ϋ', ['ῦ'] = 'υ', ['ὔ'] = 'ὐ', ['ὖ'] = 'ὐ',
['ὕ'] = 'ὑ', ['ὗ'] = 'ὑ', ['Ὕ'] = 'Ὑ', ['Ὗ'] = 'Ὑ'
}
---- αλλαγή περισπωμένης σε οξεία
perispomeni = {
['ᾶ'] = 'ά', ['ᾷ'] = 'ᾴ', ['ἆ'] = 'ἄ', ['ᾆ'] = 'ᾄ', ['ἇ'] = 'ἅ', ['ᾇ'] = 'ᾅ',
['ῆ'] = 'ή', ['ῇ'] = 'ῄ', ['ἦ'] = 'ἤ', ['ᾖ'] = 'ᾔ', ['ἧ'] = 'ἥ', ['ᾗ'] = 'ᾕ',
['ῶ'] = 'ώ', ['ῷ'] = 'ῴ', ['ὦ'] = 'ὤ', ['ᾦ'] = 'ᾤ', ['ὧ'] = 'ὥ', ['ᾧ'] = 'ᾥ',
['ῖ'] = 'ί', ['ἶ'] = 'ἴ', ['ἷ'] = 'ἵ',
['ῦ'] = 'ύ', ['ὖ'] = 'ὔ', ['ὗ'] = 'ὕ'
}
---- αλλαγή οξείας σε περισπωμένη
oxeia = {
['ά'] = 'ᾶ', ['ᾴ'] = 'ᾷ', ['ἄ'] = 'ἆ', ['ᾄ'] = 'ᾆ', ['ἅ'] = 'ἇ', ['ᾅ'] = 'ᾇ',
['ή'] = 'ῆ', ['ῄ'] = 'ῇ', ['ἤ'] = 'ἦ', ['ᾔ'] = 'ᾖ', ['ἥ'] = 'ἧ', ['ᾕ'] = 'ᾗ',
['ώ'] = 'ῶ', ['ῴ'] = 'ῷ', ['ὤ'] = 'ὦ', ['ᾤ'] = 'ᾦ', ['ὥ'] = 'ὧ', ['ᾥ'] = 'ᾧ',
['ί'] = 'ῖ', ['ἴ'] = 'ἶ', ['ἵ'] = 'ἷ',
['ύ'] = 'ῦ', ['ὔ'] = 'ὖ', ['ὕ'] = 'ὗ'
}
-- Η συνάρτηση αφαιρεί τον τόνο του θέματος
function _module.removeaccent(stem)
--για κάθε χαρακτήρα
wordproduced = ''
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
-- Η συνάρτηση αλλάζει την περισπωμένη του θέματος σε οξεία. Αν δεν βρει περισπωμένη δεν κάνει τίποτα.
function _module.PerispomeniToOxia(stem)
stempoint = mw.ustring.len(stem)
wordproduced = ""
while stempoint > 0 do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = perispomeni[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.OxiaToPerispomeni(stem)
stempoint = mw.ustring.len(stem)
wordproduced = ""
while stempoint > 0 do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = oxeia[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
-- Η συνάρτηση αρχίζει από το τελευταίο γράμμα του θέματος και πηγαίνει προς το πρώτο.
-- Όταν συναντήσει το πρώτο (άτονο) φωνήεν, το τονίζει και τέλος
-- Εννοείται ότι η μεταβλητή stem δεν πρέπει να περιέχει τονισμένα φωνήεντα.
function _module.neostonos(stem)
stempoint = mw.ustring.len(stem)
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.tonospro(stem)
stempoint = mw.ustring.len(stem)
wordproduced = ""
profound = false
while stempoint > 0 do
mychar = mw.ustring.sub(stem, stempoint, stempoint)
newchar = atona[mychar]
if newchar ~= nil and profound then
if stempoint > 1 then
return mw.ustring.sub(stem, 1, stempoint-1 ) .. newchar .. wordproduced
else
return newchar .. wordproduced
end
else
if newchar ~= nil then profound = true end
wordproduced = mychar .. wordproduced
stempoint = stempoint -1
end
end
return wordproduced
end
--δεν μπορεί να κληθεί απέξω
fulltable2 = function (args)
local stitlestr = ''
local ptitlestr = ''
local dtitlestr = ''
local onomenstr = ''
local onomplstr = ''
local genenstr = ''
local genplstr = ''
local gendustr = ''
local dotenstr = ''
local dotdustr = ''
local dotplstr = ''
local aitenstr = ''
local aitplstr = ''
local aitdustr = ''
local klenstr = ''
local klplstr = ''
local paratirisi = ''
local hassingular = true --(args['εν'] ~= nil)
local hasplural = true -- (args['πλ'] ~= nil)
local hasdual = true -- (args['πλ'] ~= nil)
if args['α'] == "πλ2" then hassingular = false end
if args['α'] == "πλ" then
hassingular = false
hasdual = false
end
if args['α'] == "εν2" then hasplural = false end
if args['α'] == "εν" then
hasplural = false
hasdual = false
end
if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
--mw.log('para')
paratirisi = '|-' .. "\n" .. [=[| colspan="4" align="left" style="background:#d9ebff; font-size: 90%; font-style: italic;" | ]=]
paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
end
-- if paratirisi == nil then paratirisi =
if hassingular then
stitlestr = [=[! bgcolor="#8FBC8F" colspan="1" align="center"| '''''Ενικός''''']=] .. "\n"
onomenstr = [=[| align="left" | ]=] .. args['οε'] .. "\n"
genenstr = [=[| align="left" | ]=] .. args['γε'] .. "\n"
dotenstr = [=[| align="left" | ]=] .. args['δε'] .. "\n"
aitenstr = [=[| align="left" | ]=] .. args['αε'] .. "\n"
klenstr = [=[| align="left" | ]=] .. args['κε'] .. "\n"
end
if hasdual then
dtitlestr = [=[! bgcolor="#8FBC8F" colspan="1" align="center"| '''''Δυϊκός''''']=] .. "\n"
gendustr = [=[| align="left" | ]=] .. args['γδ'] .. "\n"
aitdustr = [=[| align="left" | ]=] .. args['αδ'] .. "\n"
end
if hasplural then
ptitlestr = [=[! bgcolor="#8FBC8F" colspan="1" align="center"| '''''Πληθυντικός''''']=] .. "\n"
onomplstr = [=[| align="left" | ]=] .. args['οπ'] .. "\n"
genplstr = [=[| align="left" | ]=] .. args['γπ'] .. "\n"
dotplstr = [=[| align="left" | ]=] .. args['δπ'] .. "\n"
aitplstr = [=[| align="left" | ]=] .. args['απ'] .. "\n"
klplstr = [=[| align="left" | ]=] .. args['οπ'] .. "\n"
end
return [=[{| style="float:right;border:1px solid #AAAACC;margin-left:0.5em;margin-bottom:0.5em;text-align:right;" rules="all" cellpadding="3" cellspacing="0"
|-
! bgcolor="#8FBC8F" | Πτώση]=] .. "\n" .. stitlestr .. dtitlestr .. ptitlestr .. [=[|-
| bgcolor="#c0e4c0" | '''''Ονομαστική''''']=] .. "\n" .. onomenstr .. aitdustr .. onomplstr .. [=[|-
| bgcolor="#c0e4c0" | '''''Γενική''''']=] .. "\n" .. genenstr .. gendustr .. genplstr .. [=[|-
| bgcolor="#c0e4c0" | '''''Δοτική''''']=] .. "\n" .. dotenstr .. gendustr .. dotplstr .. [=[|-
| bgcolor="#c0e4c0" | '''''Αιτιατική''''']=] .. "\n" .. aitenstr .. aitdustr .. aitplstr .. [=[|-
| bgcolor="#c0e4c0" | '''''Κλητική''''']=] .. "\n" .. klenstr .. aitdustr .. klplstr .. paratirisi .. [=[|}]=]
end
------------------
--Συναρτήσεις που παίρνουν παράμετρο το frame
--Aυτή η συνάρτηση καλείται όταν απαιτείται μόνο ένα θέμα για την κλίση
klisi1 = function(args)
local lemma = ""
--αν χρησιμοποιηθεί η getargs μπορεί να παρακαμφθεί το if
--και το local lemma να γίνει args['λήμμα'] κατευθείαν
if args['λήμμα'] ~= nil and args['λήμμα'] ~= "" then
lemma = args['λήμμα']
else
PAGENAME = mw.title.getCurrentTitle().text
--αφαίρεση κενών στην αρχή και στο τέλος
lemma = PAGENAME:match( "^%s*(.-)%s*$" )
end
local stemnumber = 0
if args['α'] ~= "πλ" then
stemnumber = tonumber(mw.ustring.len(args['οε']))
else
stemnumber = tonumber(mw.ustring.len(args['οπ']))
end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber-1)
args['οε'] = stem1 .. _xk(args['οε'])
args['γε'] = stem1 .. _xk(args['γε'])
args['δε'] = stem1 .. _xk(args['δε'])
args['αε'] = stem1 .. _xk(args['αε'])
args['κε'] = stem1 .. _xk(args['κε'])
args['οπ'] = stem1 .. _xk(args['οπ'])
args['γπ'] = stem1 .. _xk(args['γπ'])
args['δπ'] = stem1 .. _xk(args['δπ'])
args['απ'] = stem1 .. _xk(args['απ'])
args['αδ'] = stem1 .. _xk(args['αδ'])
args['γδ'] = stem1 .. _xk(args['γδ'])
return fulltable2(args)
end
-- Εδώ αρχίζουν οι καταλήξεις των επιμέρους προτύπων
_module.sfaira = 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['δε'] = 'ᾳ'
local stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.PerispomeniToOxia(stem1)
local stem4 = _module.OxiaToPerispomeni(stem1)
local xaraktiras = mw.ustring.sub(stem1,-1)
for i, xar in ipairs({'β', 'γ', 'δ', 'ζ', 'θ', 'κ', 'λ', 'μ', 'ν', 'ξ', 'π', 'σ', 'τ', 'φ', 'χ', 'ψ'}) do
if xaraktiras == xar then
args['γε'] = 'ης'
args['δε'] = 'ῃ'
end
end
if args['δίχρ'] == 'β' then stem4=stem1 end
-- Μπορούμε στην Ονομ Πληθ να βάλουμε το stem4, με την εξαίρεση των λέξεων που
-- τονίζονται σε δίχρονο α,ι,υ. Ο χρήστης θα πρέπει να μας λέει αν αυτό το δίχρονο είναι βραχύ, με παράμετρο «δίχρ=β»
args['οε'] = stem1 .. _xk("α")
args['γε'] = stem3 .. _xk(args['γε'])
args['δε'] = stem3 .. _xk(args['δε'])
args['αε'] = stem1 .. _xk("αν")
args['κε'] = args['οε']
args['οπ'] = stem4 .. _xk("αι")
args['γπ'] = stem2 .. _xk("ῶν")
args['δπ'] = stem3 .. _xk("αις")
args['απ'] = stem3 .. _xk("ας")
args['αδ'] = stem3 .. _xk("α")
args['γδ'] = stem3 .. _xk("αιν")
return frame:preprocess(fulltable2(args))
end
_module.thalassa = 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['δε'] = 'ᾳ'
local stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.neostonos(stem2)
local xaraktiras = mw.ustring.sub(stem1,-1)
for i, xar in ipairs({'β', 'γ', 'δ', 'ζ', 'θ', 'κ', 'λ', 'μ', 'ν', 'ξ', 'π', 'σ', 'τ', 'φ', 'χ', 'ψ'}) do
if xaraktiras == xar then
args['γε'] = 'ης'
args['δε'] = 'ῃ'
end
end
args['οε'] = stem1 .. _xk("α")
args['γε'] = stem3 .. _xk(args['γε'])
args['δε'] = stem3 .. _xk(args['δε'])
args['αε'] = stem1 .. _xk("αν")
args['κε'] = args['οε']
args['οπ'] = stem1 .. _xk("αι")
args['γπ'] = stem2 .. _xk("ῶν")
args['δπ'] = stem3 .. _xk("αις")
args['απ'] = stem3 .. _xk("ας")
args['αδ'] = stem3 .. _xk("α")
args['γδ'] = stem3 .. _xk("αιν")
return frame:preprocess(fulltable2(args))
end
_module.stratia = function(frame)
local args = frame:getParent().args
args['οε'] = "ά"
args['γε'] = 'ᾶς'
args['δε'] = 'ᾷ'
args['αε'] = "άν"
args['κε'] = "ά"
args['οπ'] = "αί"
args['γπ'] = "ῶν"
args['δπ'] = "αῖς"
args['απ'] = "άς"
args['αδ'] = "ά"
args['γδ'] = "αῖν"
return frame:preprocess(klisi1(args))
end
_module.mna = function(frame)
local args = frame:getParent().args
args['οε'] = "ᾶ"
args['γε'] = 'ᾶς'
args['δε'] = 'ᾷ'
args['αε'] = "ᾶν"
args['κε'] = "ᾶ"
args['οπ'] = "αῖ"
args['γπ'] = "ῶν"
args['δπ'] = "αῖς"
args['απ'] = "ᾶς"
args['αδ'] = "ᾶ"
args['γδ'] = "αῖν"
return frame:preprocess(klisi1(args))
end
_module.timi = function(frame)
local args = frame:getParent().args
args['οε'] = "ή"
args['γε'] = 'ῆς'
args['δε'] = 'ῇ'
args['αε'] = "ήν"
args['κε'] = "ή"
args['οπ'] = "αί"
args['γπ'] = "ῶν"
args['δπ'] = "αῖς"
args['απ'] = "άς"
args['αδ'] = "ά"
args['γδ'] = "αῖν"
return frame:preprocess(klisi1(args))
end
_module.poiitis = function(frame)
local args = frame:getParent().args
args['οε'] = "ής"
args['γε'] = 'οῦ'
args['δε'] = 'ῇ'
args['αε'] = "ήν"
args['κε'] = "ά"
args['οπ'] = "αί"
args['γπ'] = "ῶν"
args['δπ'] = "αῖς"
args['απ'] = "άς"
args['αδ'] = "ά"
args['γδ'] = "αῖν"
return frame:preprocess(klisi1(args))
end
_module.meni = 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 stem1 = ""
local stem2 = ""
local stem4 = ""
if args['α'] == "πλ" then
stem4 = mw.ustring.sub(lemma,1,-3)
stem2 = _module.removeaccent(stem4)
stem1 = _module.neostonos(stem2)
else
stem1 = mw.ustring.sub(lemma,1,-2)
stem2 = _module.removeaccent(stem1)
stem4 = _module.tonospro(stem2)
end
args['οε'] = stem1 .. _xk("η")
args['γε'] = stem1 .. _xk("ης")
args['δε'] = stem1 .. _xk("ῃ")
args['αε'] = stem1 .. _xk("ην")
args['κε'] = args['οε']
args['οπ'] = stem4 .. _xk("αι")
args['γπ'] = stem1 .. _xk("ων")
args['δπ'] = stem1 .. _xk("αις")
args['απ'] = stem1 .. _xk("ας")
args['αδ'] = stem1 .. _xk("α")
args['γδ'] = stem1 .. _xk("αιν")
return frame:preprocess(fulltable2(args))
end
_module.gnomi = 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 stem1 = ""
local stem4 = ""
if args['α'] == "πλ" then
stem4 = mw.ustring.sub(lemma,1,-3)
stem1 = _module.PerispomeniToOxia(stem4)
else
stem1 = mw.ustring.sub(lemma,1,-2)
stem4 = _module.OxiaToPerispomeni(stem1)
if args['δίχρ'] == 'β' then stem4=stem1 end
-- Μπορούμε στην Ονομ Πληθ να βάλουμε το stem4, με την εξαίρεση των λέξεων που
-- τονίζονται σε δίχρονο α,ι,υ. Ο χρήστης θα πρέπει να μας λέει αν αυτό το δίχρονο είναι βραχύ, με παράμετρο «δίχρ=β»
end
local stem2 = _module.removeaccent(stem1)
args['οε'] = stem1 .. _xk("η")
args['γε'] = stem1 .. _xk("ης")
args['δε'] = stem1 .. _xk("ῃ")
args['αε'] = stem1 .. _xk("ην")
args['κε'] = args['οε']
args['οπ'] = stem4 .. _xk("αι")
args['γπ'] = stem2 .. _xk("ῶν")
args['δπ'] = stem1 .. _xk("αις")
args['απ'] = stem1 .. _xk("ας")
args['αδ'] = stem1 .. _xk("α")
args['γδ'] = stem1 .. _xk("αιν")
return frame:preprocess(fulltable2(args))
end
-- Β' κλίση
_module.naos = function(frame)
local args = frame:getParent().args
args['οε'] = "ός"
args['γε'] = 'οῦ'
args['δε'] = 'ῷ'
args['αε'] = "όν"
args['κε'] = "έ"
args['οπ'] = "οί"
args['γπ'] = "ῶν"
args['δπ'] = "οῖς"
args['απ'] = "ούς"
args['αδ'] = "ώ"
args['γδ'] = "οῖν"
return frame:preprocess(klisi1(args))
end
_module.xronos = 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 stem1 = mw.ustring.sub(lemma,1,-3)
local stem2 = _module.PerispomeniToOxia(stem1)
args['οε'] = stem1 .. _xk("ος")
args['γε'] = stem2 .. _xk('ου')
args['δε'] = stem2 .. _xk('ῳ')
args['αε'] = stem1 .. _xk("ον")
args['κε'] = stem1 .. _xk("ε")
args['οπ'] = stem1 .. _xk("οι")
args['γπ'] = stem2 .. _xk("ων")
args['δπ'] = stem2 .. _xk("οις")
args['απ'] = stem2 .. _xk("ους")
args['αδ'] = stem2 .. _xk("ω")
args['γδ'] = stem2 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.thriamvos = 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 stem1 = mw.ustring.sub(lemma,1,-3)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.neostonos(stem2)
args['οε'] = stem1 .. _xk("ος")
args['γε'] = stem3 .. _xk('ου')
args['δε'] = stem3 .. _xk('ῳ')
args['αε'] = stem1 .. _xk("ον")
args['κε'] = stem1 .. _xk("ε")
args['οπ'] = stem1 .. _xk("οι")
args['γπ'] = stem3 .. _xk("ων")
args['δπ'] = stem3 .. _xk("οις")
args['απ'] = stem3 .. _xk("ους")
args['αδ'] = stem3 .. _xk("ω")
args['γδ'] = stem3 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.fyton = function(frame)
local args = frame:getParent().args
args['οε'] = "όν"
args['γε'] = 'οῦ'
args['δε'] = 'ῷ'
args['αε'] = "όν"
args['κε'] = "όν"
args['οπ'] = "ά"
args['γπ'] = "ῶν"
args['απ'] = "ά"
args['δπ'] = "οῖς"
args['αδ'] = "ώ"
args['γδ'] = "οῖν"
return frame:preprocess(klisi1(args))
end
_module.krinon = 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 stemnumber = 3
if args['α'] == "πλ" then stemnumber = 2 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.PerispomeniToOxia(stem1)
args['οε'] = stem1 .. _xk("ον")
args['γε'] = stem2 .. _xk('ου')
args['δε'] = stem2 .. _xk('ῳ')
args['αε'] = args['οε']
args['κε'] = args['οε']
args['οπ'] = stem1 .. _xk("α")
args['γπ'] = stem2 .. _xk("ων")
args['δπ'] = stem2 .. _xk("οις")
args['απ'] = args['οπ']
args['αδ'] = stem2 .. _xk("ω")
args['γδ'] = stem2 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.prosopon = 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 stemnumber = 3
if args['α'] == "πλ" then stemnumber = 2 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.neostonos(stem2)
args['οε'] = stem1 .. _xk("ον")
args['γε'] = stem3 .. _xk('ου')
args['δε'] = stem3 .. _xk('ῳ')
args['αε'] = args['οε']
args['κε'] = args['οε']
args['οπ'] = stem1 .. _xk("α")
args['γπ'] = stem3 .. _xk("ων")
args['δπ'] = stem3 .. _xk("οις")
args['απ'] = args['οπ']
args['αδ'] = stem3 .. _xk("ω")
args['γδ'] = stem3 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.plous = function(frame)
local args = frame:getParent().args
args['οε'] = "όῦς"
args['γε'] = 'οῦ'
args['δε'] = 'ῷ'
args['αε'] = "όῦν"
args['κε'] = "οῦ"
args['οπ'] = "οῖ"
args['γπ'] = "ῶν"
args['απ'] = "οῦς"
args['δπ'] = "οῖς"
args['αδ'] = "ώ"
args['γδ'] = "οῖν"
return frame:preprocess(klisi1(args))
end
_module.ostoun = function(frame)
local args = frame:getParent().args
args['οε'] = "οῦν"
args['γε'] = 'οῦ'
args['δε'] = 'ῷ'
args['αε'] = "οῦν"
args['κε'] = "οῦν"
args['οπ'] = "ᾶ"
args['γπ'] = "ῶν"
args['απ'] = "ᾶ"
args['δπ'] = "ᾶ"
args['αδ'] = "ώ"
args['γδ'] = "οῖν"
return frame:preprocess(klisi1(args))
end
_module.lews = function(frame) -- αττικόκλιτα, πχ λεώς
local args = frame:getParent().args
args['οε'] = "ώς"
args['γε'] = 'ώ'
args['δε'] = 'ῴ'
args['αε'] = "ών"
args['κε'] = "ώς"
args['οπ'] = "ῴ"
args['γπ'] = "ών"
args['απ'] = "ώς"
args['δπ'] = "ῴς"
args['αδ'] = "ώ"
args['γδ'] = "ῴν"
return frame:preprocess(klisi1(args))
end
-- Τριτόκλιτα
_module.iros = 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 stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem3 = _module.removeaccent(stem1)
local stem2 = _module.neostonos(stem3)
args['οε'] = stem1 .. _xk("ς")
args['γε'] = stem1 .. _xk('ος')
args['δε'] = stem1 .. _xk('ι')
args['αε'] = stem1 .. _xk("α")
args['κε'] = args['οε']
args['οπ'] = stem1 .. _xk("ες")
args['γπ'] = stem2 .. _xk("ων")
args['δπ'] = stem1 .. _xk("σι(ν)")
args['απ'] = stem1 .. _xk("ας")
args['αδ'] = stem1 .. _xk("ε")
args['γδ'] = stem2 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.votrys = 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 stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem3 = _module.removeaccent(stem1)
local stem2 = _module.neostonos(stem3)
args['οε'] = stem1 .. _xk("ς")
args['γε'] = stem1 .. _xk('ος')
args['δε'] = stem1 .. _xk('ϊ')
args['αε'] = stem1 .. _xk("ν")
args['κε'] = stem1
args['οπ'] = stem1 .. _xk("ες")
args['γπ'] = stem2 .. _xk("ων")
args['δπ'] = stem1 .. _xk("σι(ν)")
args['απ'] = stem1 .. _xk("ς")
args['αδ'] = stem1 .. _xk("ε")
args['γδ'] = stem2 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.ixthys = 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 stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.OxiaToPerispomeni(stem1)
args['οε'] = stem1 .. _xk("ς")
args['γε'] = stem1 .. _xk('ος')
args['δε'] = stem1 .. _xk('ϊ')
args['αε'] = stem1 .. _xk("ν")
args['κε'] = stem1
args['οπ'] = stem1 .. _xk("ες")
args['γπ'] = stem1 .. _xk("ων")
args['δπ'] = stem1 .. _xk("σι(ν)")
args['απ'] = stem2 .. _xk("ς")
args['αδ'] = stem1 .. _xk("ε")
args['γδ'] = stem1 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.drys = 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 stemnumber = 2
if args['α'] == "πλ" then stemnumber = 3 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.PerispomeniToOxia(stem1)
args['οε'] = stem1 .. _xk("ς")
args['γε'] = stem2 .. _xk('ός')
args['δε'] = stem2 .. _xk('ΐ')
args['αε'] = stem1 .. _xk("ν")
args['κε'] = stem1
args['οπ'] = stem3 .. _xk("ες") .. " - " .. args['οε']
args['γπ'] = stem2 .. _xk("ῶν")
args['δπ'] = stem2 .. _xk("σί(ν)")
args['απ'] = stem3 .. _xk("ας") .. " - " .. args['οε']
args['αδ'] = stem3 .. _xk("ε")
args['γδ'] = stem2 .. _xk("οῖν")
return frame:preprocess(fulltable2(args))
end
_module.polis = 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 stemnumber = 3
local xarakt = "ι"
if args['α'] == "πλ" then
stemnumber = 4
else
xarakt = mw.ustring.sub(lemma,-2,-2)
end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = _module.neostonos(stem2)
stem1 = stem1 .. xarakt
args['οε'] = stem1 .. _xk("ς")
args['γε'] = stem3 .. "ε" .. _xk('ως')
args['δε'] = stem3 .. _xk('ει')
args['αε'] = stem1 .. _xk("ν")
args['κε'] = stem1
args['οπ'] = stem3 .. _xk("εις")
args['γπ'] = stem3 .. "ε" .. _xk("ων")
args['δπ'] = stem3 .. "ε" .. _xk("σι(ν)")
args['απ'] = args['οπ']
args['αδ'] = stem3 .. _xk("ει")
args['γδ'] = stem2 .. "έ" .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.vasileus = 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 stemnumber = 4
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
args['οε'] = stem1 .. "εύ" .. _xk("ς")
args['γε'] = stem1 .. "έ" .. _xk('ως')
args['δε'] = stem1 .. _xk('εῖ')
args['αε'] = stem1 .. "έ" .. _xk("α")
args['κε'] = stem1 .. "εῦ"
args['οπ'] = stem1 .. _xk("εῖς")
args['γπ'] = stem1 .. "έ" .. _xk("ων")
args['δπ'] = stem1 .. "εῦ" .. _xk("σι(ν)")
args['απ'] = stem1 .. "έ" .. _xk("ας")
args['αδ'] = stem1 .. _xk("εῖ")
args['γδ'] = stem1 .. "έ" .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.fylax = 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 stemnumber = 2
local stem1 = ''
local stem2 = ''
local stem4 = ''
local symf1 = ''
local symf2 = ''
if args['α'] ~= 'πλ' then
stem1 = mw.ustring.sub(lemma,1,-2)
symf1 = mw.ustring.sub(lemma,-1)
if symf1 == "ς" then symf2 = "σ" else symf2 = symf1 end
if args['θέμα'] ~= null then
stem2 = args['θέμα']
stem4 = mw.ustring.sub(stem2,1,-2)
else
stem4 = _module.PerispomeniToOxia(stem1)
stem2 = stem4 .. (args['χαρ'] or 'κ')
end
else
stem2 = mw.ustring.sub(lemma,1,-3)
if args['χαρ'] == null then args['χαρ'] = mw.ustring.sub(stem2,-1,-1) end
if args['χαρ'] == "κ" or args['χαρ'] == "χ" or args['χαρ'] == "γ" then
symf2="ξ"
elseif args['χαρ'] == "π" or args['χαρ'] == "β" or args['χαρ'] == "φ" then
symf2="ψ"
else symf2="σ" end
stem4 = mw.ustring.sub(stem2,1,-mw.ustring.len(args['χαρ'])-1)
end
local stem3 = _module.neostonos(_module.removeaccent(stem2))
args['οε'] = stem1 .. _xk(symf1)
args['γε'] = stem2 .. _xk('ος')
args['δε'] = stem2 .. _xk('ι')
args['αε'] = stem2 .. _xk("α")
args['κε'] = args['οε']
if args['χαρ'] == "ντ" then args['κε'] = stem1 .. "ν" end
args['οπ'] = stem2 .. _xk("ες")
args['γπ'] = stem3 .. _xk("ων")
args['δπ'] = stem4 .. _xk(symf2 .. "ι(ν)")
args['απ'] = stem2 .. _xk("ας")
args['αδ'] = stem2 .. _xk("ε")
args['γδ'] = stem3 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.velos = 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 stemnumber = 3
if args['α'] == "πλ" then stemnumber = 2 end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem3 = _module.removeaccent(stem1)
local stem2 = _module.neostonos(stem3)
args['οε'] = stem1 .. 'ος'
args['γε'] = stem2 .. _xk('ους')
args['δε'] = stem2 .. _xk('ει')
args['αε'] = args['οε']
args['κε'] = args['οε']
args['οπ'] = stem2 .. _xk("η")
args['γπ'] = stem3 .. _xk("ῶν")
args['δπ'] = stem2 .. _xk("εσι(ν)")
args['απ'] = args['οπ']
args['αδ'] = stem2 .. _xk("ει")
args['γδ'] = stem3 .. _xk("οῖν")
return frame:preprocess(fulltable2(args))
end
_module.kreas = 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 stem1 = ""
if args['α'] == "πλ" then
stem1 = mw.ustring.sub(lemma,1,-2)
else
stem1 = mw.ustring.sub(lemma,1,-3)
end
local stem2 = _module.removeaccent(stem2)
args['οε'] = stem1 .. 'ας'
args['γε'] = stem1 .. _xk('ως')
args['δε'] = stem1 .. _xk('ᾳ')
args['αε'] = args['οε']
args['κε'] = args['οε']
args['οπ'] = stem1 .. _xk("α")
args['γπ'] = stem2 .. _xk("ῶν")
args['δπ'] = stem1 .. 'α' .. _xk("σι(ν)")
args['απ'] = args['οπ']
args['αδ'] = stem1 .. _xk("α")
args['γδ'] = stem2 .. _xk("οῖν")
return frame:preprocess(fulltable2(args))
end
_module.xeimon = function(frame) -- ενρινόληκτα, χειμών-ῶνος, κανών-όνος
local args = frame:getParent().args
local args2 =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 stemnumber = 3
if args['α'] == "πλ" then stemnumber = 5 end
local fon1 = "ῶ"
local fon2 = "ώ"
if args2['διπλ'] ~= null then
fon1 = "ό"
fon2 = fon1
end
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem4 = stem1 .. fon1
local stem3 = stem1 .. fon2 .. 'ν'
local stem2 = stem4 .. 'ν'
args['οε'] = stem1 .. 'ών'
args['γε'] = stem2 .. _xk('ος')
args['δε'] = stem2 .. _xk('ι')
args['αε'] = stem2 .. _xk("α")
args['κε'] = args['οε']
args['οπ'] = stem2 .. _xk("ες")
args['γπ'] = stem3 .. _xk("ων")
args['δπ'] = stem4 .. _xk("σι(ν)")
args['απ'] = stem2 .. _xk("ας")
args['αδ'] = stem2 .. _xk("ε")
args['γδ'] = stem3 .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
_module.geiton = function(frame) -- ενρινόληκτα, γείτων-ονος, κώδων-ωνος
local args = frame:getParent().args
local args2 =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 stemnumber = 3
if args['α'] == "πλ" then stemnumber = 5 end
local fon1 = "ω"
local fon2 = "ώ"
local stem1 = mw.ustring.sub(lemma,1,-stemnumber)
local stem2 = _module.removeaccent(stem1)
local stem3 = stem1
if args2['διπλ'] ~= null then
fon1 = "ο"
fon2 = "ό"
if args['δίχρ'] ~= 'β' then
stem3 = _module.OxiaToPerispomeni(stem1)
end
end
if stem1 == "Ἀγαμέμν" then stem3 = "Ἀγάμεμν" end
if stem1 == "Ἀριστογείτ" then stem3 = "Ἀριστόγειτ" end
args['οε'] = stem1 .. 'ων'
args['γε'] = stem1 .. fon1 .. 'ν' .. _xk('ος')
args['δε'] = stem1 .. fon1 .. 'ν' .. _xk('ι')
args['αε'] = stem1 .. fon1 .. 'ν' .. _xk("α")
args['κε'] = stem3 .. fon1 .. 'ν'
args['οπ'] = stem1 .. fon1 .. 'ν' .. _xk("ες")
args['γπ'] = stem2 .. fon2 .. 'ν' .. _xk("ων")
args['δπ'] = stem1 .. fon1 .. _xk("σι(ν)")
args['απ'] = stem1 .. fon1 .. 'ν' .. _xk("ας")
args['αδ'] = stem1 .. fon1 .. 'ν' .. _xk("ε")
args['γδ'] = stem2 .. fon2 .. 'ν' .. _xk("οιν")
return frame:preprocess(fulltable2(args))
end
return _module