Модуль:grc-nouns-decl/2
Зовнішній вигляд
Документацію для цього модуля можна створити у Модуль:grc-nouns-decl/2/документація
-- αρχαία ουσιαστικά, 2η κλίση - ancient greek nouns, 2nd declenision 2021.06. Sarri.greek
-- INSTRUCTIONS & help at bottom of [[Module:grc-nouns-decl]] - ΟΔΗΓΙΕΣ στο τέλος της κύριας σελίδας
--[=[ CONTENTS Κατά ομάδες - by group
ΑΡΣΕΝΙΚΑ/ΘΗΛΥΚΑ/KOINOY
* [[ναός]]/[[ὁδός]]/[[ἰατρός]], [[δρόμος]]/[[νόσος]]/[[ἵππος]], [[θρίαμβος]]/[[κάμινος]]/[[κάμηλος]]
ΟΥΔΕΤΕΡΑ
* [[φυτόν]], [[τέκνον]]/[[στοιχεῖον]], [[πρόσωπον]] & [[Γλυκέριον]]
ΣΥΝΗΡΗΜΕΝΑ
* [[πλόος]]-[[πλοῦς]] & έος-ούς ([[θυγατριδέος]]-[[θυγατριδοῦς]]), [[περίπλοος-[[περίπλους]], [[ὀστέον]]-[[ὀστοῦν]]+[[κάνεον]]-[[κανοῦν]]
ΑΤΤΙΚΟΚΛΙΤΑ
* [[λαγώς]]+[[λαγῶς]], [[κάλως]], [[πρόνεως]], [[ἀνώγεων]]
]=]--
export = {}
m_3 = require("Module:grc-nouns-decl/3") -- 3rd declension follows
-- ------------------------------------------------------------------------ --
-- ΑΡΣΕΝΙΚΑ/ΘΗΛΥΚΑ\ΚΟΙΝΟΥ ΓΕΝΟΥΣ masc. fem. common
-- ------------------------------------------------------------------------ --
-- ======================= 2η κλίση [[ναός]] ===================================== --
-- 2η κλίση αρσενικά οξύτονα [[ναός]], θηλυκά [[ὁδός]]
-- [[Πρότυπο:grc-κλίση-'ναός']]
export['ναός'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem DEFAULT
local stem = {}
-- stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- rewrite default stemnumber = 3 (μείον 2)
args['κλίση'] = '2'
args['κατηγορία κλίσης'] = 'ναός'
args['τύπος'] = 'ναός'
-- genders below
args['κατηγ0'] = 'Λέξεις οξύτονες'
args['υποκατ01'] = 'οξύτονα'
-- ή και θηλ, ὁ, ἡ [[Ἀμοργός]] but not αθ: 2 tables. add manually με πολλαπλά γένη
if args['θηλ'] == '1' then
args['όπως'] = 'ὁδός'
args['υποκατ02'] = 'θηλυκά οξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'ναός' θηλυκά"
elseif args['αθ'] == '1' then
args['όπως'] = 'ἰατρός'
args['υποκατ02'] = 'κοινού γένους οξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'ναός' κοινού γένους"
elseif args['α-θ'] == '1' then
-- [[Ἀμοργός]]
args['όπως'] = 'ναός'
args['υποκατ03'] = "που κλίνονται όπως το 'ναός' αρσενικά ή θηλυκά"
elseif args['θηλ'] ~= '1' and args['αθ'] ~= '1' then
args['αρσ'] = '1'
args['όπως'] = 'ναός'
args['υποκατ02'] = 'αρσενικά οξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'ναός' αρσενικά"
end
args['mod-οε'] = "ός"
args['mod-γε'] = "οῦ"
args['mod-δε'] = "ῷ"
args['mod-αε'] = "όν"
args['mod-κε'] = "έ"
args['mod-οπ'] = "οί"
args['mod-γπ'] = "ῶν"
args['mod-δπ'] = "οῖς"
args['mod-απ'] = "ούς"
args['mod-κπ'] = "οί"
args['mod-οδ'] = "ώ"
args['mod-γδ'] = "οῖν"
return decl(args)
end
-- ======================= 2η κλίση [[δρόμος]] ===================================== --
-- 2η κλίση αρσενικά παροξύτονα [[δρόμος]], προπερισπώμενα [[κῆπος]], θηλυκά [[νόσος]], [[νῆσος]], κοινού [[ἵππος]], [[πῶλος]]
-- θ-α [[πρῖνος]]
-- [[θόλος]] πολλαπλά γένη και σημασίες --
export['δρόμος'] = function(frame) -- [[Πρότυπο:grc-κλίση-'δρόμος']]
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem
local stem = {}
-- Default stem minus 2 letters from the end, stemnumber = 3
-- prosody evident from the accent.
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- χρόν-ος κῆπ-ος
stem["θ0"] = m_stems.word0(stem["θ"]) -- χρον κηπ
stem["θ1"] = m_stems.PerispomeniToOxia(stem["θ"]) -- χρόν κήπ
stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"]) -- CONTROL for not accepting paroxytones
-- PLAN KEEP stem steady. MAKE ALWAYS oxia at genitives, datives, dual + acc.plural
-- split paroxytones-proparoxytones DO NOT ACCEPT προπαροξύτονα.
-- PROBLEM HERE check -αῖος
-- δρόμος-θρίαμβος: It cannot read diphthongs like [[ὄνειρος]] ὄ-νε-ι-ρον [[κέρκουρος]] = κέρ-κο-υρ ## BUGatCONTROL
if (stem["θ"] ~= m_stems.word1(stem["θ0"]) and stem["θ"] ~= stem["θ1π"])
or stem["θ"] == m_stems.word2(stem["θ0"])
then
return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Χρησιμοποιήσατε κλίση για ουσιαστικά που τονίζονται στην παραλήγουσα.')
end
-- DO NOT ACCEPT macron+okseia or diphtong with okseia -- see below
-- if mw.ustring.find(args['λήμμα'], m_data.macron_oxeia) -- marcon+okseia or vareia
-- or mw.ustring.find(args['λήμμα'], m_data.diphthong_tonos) -- diphthong+tonos (okseia, vareia, perispomeni) -- NOT dialytics ΐῒῗΰῢῧ there are brachea in this group
-- DO NOT ACCEPT: impossible.
-- then return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Αδύνατον να οξύνεται μακρό στην παραλήγουσα με βραχεία λήγουσα.')
-- end
args['κλίση'] = '2'
args['κατηγορία κλίσης'] = 'δρόμος'
args['τύπος'] = 'δρόμος'
if args['θηλ'] == '1' then
args['υποκατ0'] = "που κλίνονται όπως το 'δρόμος' θηλυκά"
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- any vowel+perispomeni
then
args['όπως'] = 'νῆσος'
args['κατηγ0'] = 'Λέξεις προπερισπώμενες'
args['υποκατ01'] = 'προπερισπώμενα'
args['υποκατ02'] = 'θηλυκά προπερισπώμενα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' προπερισπώμενα"
else
args['όπως'] = 'νόσος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'θηλυκά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' παροξύτονα"
end
elseif args['αθ'] == '1' then
args['υποκατ0'] = "που κλίνονται όπως το 'δρόμος' κοινού γένους"
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- any vowel+perispomeni
then
args['όπως'] = 'πῶλος'
args['κατηγ0'] = 'Λέξεις προπερισπώμενες'
args['υποκατ01'] = 'προπερισπώμενα'
args['υποκατ02'] = 'κοινού γένους προπερισπώμενα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' προπερισπώμενα"
else
args['όπως'] = 'ἵππος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'κοινού γένους παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' παροξύτονα"
end
elseif args['θ-α'] == '1' then
args['υποκατ0'] = "που κλίνονται όπως το 'δρόμος' θηλυκά ή αρσενικά"
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- any vowel+perispomeni
then
args['όπως'] = 'νῆσος'
args['κατηγ0'] = 'Λέξεις προπερισπώμενες'
args['υποκατ01'] = 'προπερισπώμενα'
args['υποκατ02'] = 'θηλυκά ή αρσενικά προπερισπώμενα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' προπερισπώμενα"
else -- no example
args['όπως'] = 'νόσος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'θηλυκά ή αρσενικά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' παροξύτονα"
end
elseif args['θηλ'] ~= '1' and args['αθ'] ~= '1' and args['θ-α'] ~= '1' then -- masc is more common
args['αρσ'] = '1'
args['υποκατ0'] = "που κλίνονται όπως το 'δρόμος' αρσενικά"
-- mw.addWarning('<b><span style="color:#b22222; font-size:14px;">Προσοχή! Αν πρόκειται για θηλυκό, συμπληρώστε |θηλ=1 Αν πρόκειται για κοινού γένους, με |αθ=1</span></b>')
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- any vowel+perispomeni
then
args['όπως'] = 'κῆπος'
args['κατηγ0'] = 'Λέξεις προπερισπώμενες'
args['υποκατ01'] = 'προπερισπώμενα'
args['υποκατ02'] = 'αρσενικά προπερισπώμενα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' προπερισπώμενα"
else
args['όπως'] = 'δρόμος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'δρόμος' παροξύτονα"
end
end
-- specials: θόλος με πολλαπλά γένη και σημασίες"
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ος"
args['mod-γεθ'] = stem["θ1"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ1"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ον"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ε"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "οι"
args['mod-γπθ'] = stem["θ1"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ1"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ1"] args['mod-απ'] = "ους"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "οι"
args['mod-οδθ'] = stem["θ1"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ1"] args['mod-γδ'] = "οιν"
return decl(args)
end
-- ======================= 2η κλίση [[θρίαμβος]] ===================================== --
-- 2η κλίση αρσενικά προπαροξύτονα [[θρίαμβος]], θηλυκά [[κάμινος]], κοινού [[κάμηλος]] CHECK 1=όνομα [[Δημόστρατος]]
-- [[Πρότυπο:grc-κλίση-'θρίαμβος']]
export['θρίαμβος'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem
local stem = {}
-- Default stem minus 2 letters from the end, stemnumber = 3
-- prosody evident from the accent.
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- θρίαμβ
stem["θ0"] = m_stems.word0(stem["θ"]) -- θριαμβ
stem["θ1"] = m_stems.word1(stem["θ0"]) -- θριάμβ --?
-- stem["θ1"] = m_stems.PerispomeniToOxia(stem["θ"]) -- θριαμβ
stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"]) -- CONTROL for not accepting paroxytones
stem["θ2"] = m_stems.word2(stem["θ0"]) -- CONTROL for not accepting paroxytones
-- PLAN KEEP stem steady. MAKE ALWAYS oxia at genitives, datives, dual + acc.plural
-- split paroxytones-proparoxytones DO NOT ACCEPT παροξύτονα -- check [[συνέκδημος]]
-- δρόμος-θρίαμβος: It cannot read diphthongs like [[ὄνειρος]] ὄ-νε-ι-ρον [[κέρκουρος]] = κέρ-κο-υρ ## BUGatCONTROL
if stem["θ"] == stem["θ1"]
then
return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Χρησιμοποιήσατε κλίση για προπαροξύτονα.')
end
--[=[ this is WRONG
if (stem["θ"] == stem["θ1"] or stem["θ"] == stem["θ1π"]) --(also impossible words like ...εῖα )
-- but ACCEPT suffix lemmata
-- and not mw.ustring.find(stem["θ"], '[-]')
then
return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Χρησιμοποιήσατε κλίση για προπαροξύτονα.')
end
]=]--
-- DO NOT ACCEPT macron+okseia or diphtong with okseia -- see below
args['κλίση'] = '2'
args['κατηγορία κλίσης'] = 'θρίαμβος'
args['τύπος'] = 'θρίαμβος'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = "προπαροξύτονα"
if args['θηλ'] == '1' then
args['όπως'] = 'κάμινος'
args['υποκατ02'] = 'θηλυκά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'θρίαμβος' θηλυκά"
elseif args['αθ'] == '1' then
args['όπως'] = 'κάμηλος'
args['υποκατ02'] = 'κοινού γένους προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'θρίαμβος' κοινού γένους"
elseif args['α-θ'] == '1' then
args['όπως'] = 'Αἴγυπτος'
args['υποκατ02'] = 'αρσενικού ή θηλυκού γένους προπαροξύτονα'
args['υποκατ03'] = "αρσενικά ή θηλυκά που κλίνονται όπως το 'θρίαμβος'"
-- add manually με πολλαπλά γένη και σημασίες
elseif args['θ-α'] == '1' then
args['όπως'] = 'Ζάκυνθος' -- ?#TO DO find one with both numbers
args['υποκατ02'] = 'θηλυκού ή αρσενικού γένους προπαροξύτονα'
args['υποκατ03'] = "θηλυκά ή αρσενικά που κλίνονται όπως το 'θρίαμβος'"
-- add manually με πολλαπλά γένη
else -- masc is more common
args['αρσ'] = '1'
args['όπως'] = 'θρίαμβος'
args['υποκατ02'] = 'αρσενικά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'θρίαμβος' αρσενικά"
-- OFF: disturbs pages where it already exists.
-- mw.addWarning('<b><span style="color:#b22222; font-size:14px;">Προσοχή! Αν πρόκειται για θηλυκό, συμπληρώστε |θηλ=1 Αν πρόκειται για κοινού γένους, με |αθ=1</span></b>')
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ος"
args['mod-γεθ'] = stem["θ1"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ1"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ον"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ε"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "οι"
args['mod-γπθ'] = stem["θ1"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ1"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ1"] args['mod-απ'] = "ους"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "οι"
args['mod-οδθ'] = stem["θ1"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ1"] args['mod-γδ'] = "οιν"
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- vowel+perispomeni
-- DO NOT ACCEPT: impossible.
then return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Αδύνατον να περισπάται η προπαραλήγουσα.')
end
return decl(args)
end
-- ------------------------------------------------------------------------ --
-- ΟΥΔΕΤΕΡΑ neuters
-- ------------------------------------------------------------------------ --
-- ======================= 2η κλίση [[φυτόν]] ===================================== --
-- 2η κλίση ουδέτερα οξύτονα
-- [[Πρότυπο:grc-κλίση-'φυτόν']]
export['φυτόν'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2) -- override default stemnumber = 3 (μείον 2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- rewrite default stemnumber = 3 (μείον 2)
end
args['κλίση'] = '2'
args['ουδ'] = '1'
args['κατηγορία κλίσης'] = 'φυτόν'
args['τύπος'] = 'φυτόν'
args['όπως'] = 'φυτόν'
args['κατηγ0'] = 'Λέξεις οξύτονες'
args['υποκατ01'] = 'οξύτονα'
args['υποκατ02'] = 'ουδέτερα οξύτονα'
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "όν"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "οῦ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῷ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "όν"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "όν"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ά" args['mod-οπ+'] = "ᾰ́"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "οῖς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ά" args['mod-απ+'] = "ᾰ́"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ά" args['mod-κπ+'] = "ᾰ́"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "οῖν"
return decl(args)
end
-- group τέκνον -- check δπ2 at [[δῶρον]]
-- ======================= 2η κλίση [[τέκνον]] [[στοιχεῖον]]===================================== --
-- 2η κλίση ουδέτερα παροξύτονα -- τα δίχρονα είναι γνωστά από τον τονισμό
-- [[Πρότυπο:grc-κλίση-'τέκνον']]
export['τέκνον'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem -- different for singular/plural. All stems must be written.
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2) -- override default stemnumber = 3 (μείον 2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- rewrite default stemnumber = 3 (μείον 2)
end
stem["θ0"] = m_stems.word0(stem["θ"]) -- τεκν, σχολει
-- stem["θ1"] = m_stems.word1(stem["θ0"])
stem["θ1"] = m_stems.PerispomeniToOxia(stem["θ"]) -- τέκν, σχολεί or keeps okseia
stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"]) -- CONTROL splits
args['κλίση'] = '2'
args['ουδ'] = '1'
args['κατηγορία κλίσης'] = 'τέκνον'
args['τύπος'] = 'τέκνον'
-- split paroxytones-proparoxytones DO NOT ACCEPT προπαροξύτονα. check [[στοιχεῖον]]
if (stem["θ"] ~= m_stems.word1(stem["θ0"]) and stem["θ"] ~= stem["θ1π"])
or stem["θ"] == m_stems.word2(stem["θ0"])
then
return errorhere("ΛΑΘΟΣ ΚΛΙΣΗ. Επιλέξτε κλίση για προπαροξύτονα όπως {{grc-κλίση-'πρόσωπον'}}.")
end
-- DO NOT ACCEPT macron+okseia or diphtong with okseia -- see below
-- if mw.ustring.find(args['λήμμα'], m_data.macron_oxeia) -- marcon+okseia or vareia
-- or mw.ustring.find(args['λήμμα'], m_data.diphthong_tonos) -- diphthong+tonos (okseia, vareia, perispomeni) -- NOT dialytics ΐῒῗΰῢῧ there are brachea in this group
-- DO NOT ACCEPT: impossible.
-- then return errorhere('ΛΑΘΟΣ ΚΛΙΣΗ. Αδύνατον να οξύνεται μακρό στην παραλήγουσα με βραχεία λήγουσα.')
-- end
--Η δίχρονη παραλήγουσα έχει γνωστή προσωδία λόγω του τονισμού
--* τα βραχέα α, ι, υ, οξύονται
--* τα μακρά α, ι, υ περισπώνται
-- ===================== define accented syllable as macron, brachy or ambiguous
-- are KNOWN for this group, because of evident accent
-- use this function, to separate Categories for macron / oksy
-- ========== need to make it a function OUTSIDE at [[Module:grc-stems]] test [[Module:ww]] test
-- see my notes at /1 #στρατιώτης
-- It works, only when i write here, and cannot with args['λήμμα']
-- DO NOT WRITE THIS HERE prosody = ""
-- any vowel+okseia
if mw.ustring.find(stem["θ"], '[άᾴὰᾲἄᾄἂᾂἅᾅἃᾃέὲἔἒἕἓήῄὴῂἤᾔἢᾒἥᾕἣᾓίὶἴἲἵἳΐῒόὸὄὂὅὃύὺὔὒὕὓΰῢώῴὼῲὤᾤὢᾢὥᾥὣᾣΆᾺἌᾌἊᾊᾊἍᾍἋᾋΈῈἜἚἝἛΉῊᾘἬᾜἪᾚᾚἭᾝἫᾛΊῚἼἺἽἻΌῸὌὊὍὋΎῪὝὛῺὬᾬὪᾪᾭὫᾫ]')
then
prosody = 'βραχύ'
args['όπως'] = 'τέκνον'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'ουδέτερα παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'τέκνον' παροξύτονα"
end
-- macron any vowel with perispomeni
if mw.ustring.find(args['λήμμα'], m_data.vowel_perispomeni) -- any vowel+perispomeni
then -- MAKE okseia
prosody = 'μακρό'
args['όπως'] = 'στοιχεῖον'
args['κατηγ0'] = 'Λέξεις προπερισπώμενες'
args['υποκατ01'] = 'προπερισπώμενα'
args['υποκατ02'] = 'ουδέτερα προπερισπώμενα'
args['υποκατ03'] = "που κλίνονται όπως το 'τέκνον' προπερισπώμενα"
end
-- NOT NEEDED: function for ambiguous dicrhona α ι υ Return: unknown
-- COMMON CASES for all -- default stem = θ
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ον"
args['mod-γεθ'] = stem["θ1"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ1"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = args['mod-οε']
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = args['mod-οε']
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "α" args['mod-οπ+'] = "ᾰ"
args['mod-γπθ'] = stem["θ1"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ1"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = args['mod-οπ'] args['mod-απ+'] = args['mod-οπ+']
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = args['mod-οπ'] args['mod-κπ+'] = args['mod-οπ+']
args['mod-οδθ'] = stem["θ1"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ1"] args['mod-γδ'] = "οιν"
return decl(args)
end
-- ## DO NOT, DO NOT rewrite μείον = 2 for default stem. It creates problem with editor's params
-- ## πρόβλημα άρνησης θέματος με δίψηφο problem denail of stem with diphthong like [[ἀντίκοιλον]] = stem["θ3"]!!
-- ======================= 2η κλίση [[πρόσωπον]] ===================================== --
-- 2η κλίση ουδέτερα προπαροξύτονα
-- [[Πρότυπο:grc-κλίση-'πρόσωπον']]
export['πρόσωπον'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
-- args['μείον'] = 1 --skip default stemnumber = 3 (μείον 2)
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2) -- override default stemnumber = 3 (μείον 2)
else
-- args['μείον'] = 2 -- ## DO NOT, DO NOT rewrite μείον = 2 for default stem. It creates problem with editor's params
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- rewrite default stemnumber = 3 (μείον 2)
end
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent, oksia
stem["θ1"] = m_stems.word1(stem["θ0"]) -- the okseia at 1st syllble from the end
-- stem["θ1"] = m_stems.PerispomeniToOxia(stem["θ"])
stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"]) -- convert perispomeni to oxeia -- # CONTROL: do not accept such stems
stem["θ2"] = m_stems.word2(stem["θ0"]) -- accent on 2nd syllable from the end (control if paroxytone or proparoxyton)
args['κλίση'] = '2'
args['ουδ'] = '1'
-- split paroxytones proparoxytones
-- but accept θ0 as we find it in -- it is a paroxytone [[ἀντίκοιλον]] is stem["θ3"] -ί-κο-ιλ-
if stem["θ"] == stem["θ1"]
or mw.ustring.find(stem["θ"], m_data.vowel_perispomeni) -- vowel+perispomeni
then
return errorhere("ΛΑΘΟΣ ΚΛΙΣΗ. Χρησιμοποιήσατε κλίση για προπαροξύτονα. Επιλέξτε μια κλίση όπως {{grc-κλίση-'τέκνον'}}")
-- note: this module could also be used for paroxytones, but a separate template is a better choice.
else
--elseif stem["θ"] == stem["θ2"] then
args['κατηγορία κλίσης'] = 'πρόσωπον'
args['τύπος'] = 'πρόσωπον'
args['όπως'] = 'πρόσωπον'
-- args['ομάδα'] = 'πρόσωπον' -- it includes Γλυκέριον
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'ουδέτερα προπαροξύτονα'
end
-- common cases for all:
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ον"
args['mod-γεθ'] = stem["θ1"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ1"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ον"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ον"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "α" args['mod-οπ+'] = "ᾰ" -- check α=πλ [[Τρίκαλα]]
args['mod-γπθ'] = stem["θ1"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ1"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "α" args['mod-απ+'] = "ᾰ"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "α" args['mod-κπ+'] = "ᾰ"
args['mod-οδθ'] = stem["θ1"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ1"] args['mod-γδ'] = "οιν"
return decl(args)
end
-- rare feminine/neuter diminutive names for women. Is Genitive valid?? ΕΚΚΡΕΜΟΤΗΤΑ
-- σπάνιο: χαϊδευτικά υποκοριστικά γυναικεία σε -ιον όπως [[Γλυκέριον]] [[Μυρρινίδιον]]
-- ======================= 2η κλίση [[Γλυκέριον]] ===================================== --
-- 2η κλίση θηλυκά ή ουδέτερα. Δεν μαρτυρείται πληθυντικός.
export['Γλυκέριον'] = function(frame) -- [[Πρότυπο:grc-κλίση-'Γλυκέριον']]
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
-- stem
local stem = {}
-- hyphothetical plural
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3) -- rewrite default stem minws 2 letters from the end
end
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent, oksia
stem["θ1"] = m_stems.word1(stem["θ0"]) -- the okseia at 1st syllble from the end
args['κλίση'] = '2'
args['θο'] = '1' -- feminine/neuter
-- args['ομάδα'] = 'πρόσωπον' -- it includes Γλυκέριον
args['όνομα'] = '1' -- always names
args['α'] = 'εν' -- only singular
args['sg-default'] = '1' -- SUPPRESS Cat όπως 'ΧΧ' χωρίς πληθυντικό
-- note, plus the standard category
args['σημ'] = 'Θηλυκό ή ουδέτερο. Δεν μαρτυρείται πληθυντικός.<br>Συνήθως, στην ονομαστική, αιτιατική και κλητικού ενικού.'
args['κατηγορία κλίσης'] = 'Γλυκέριον'
args['τύπος'] = 'Γλυκέριον'
args['όπως'] = 'Γλυκέριον'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'ουδέτερα προπαροξύτονα'
-- plus the multigenus category
-- args['υποκατ03'] = 'με πολλαπλά γένη'
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ον"
args['mod-γεθ'] = stem["θ1"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ1"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ον"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ον"
-- HYPOTHETICAL plural, dual not visible
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "α" args['mod-οπ+'] = "ᾰ"
args['mod-γπθ'] = stem["θ1"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ1"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "α" args['mod-απ+'] = "ᾰ"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "α" args['mod-κπ+'] = "ᾰ"
args['mod-οδθ'] = stem["θ1"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ1"] args['mod-γδ'] = "οιν"
return decl(args)
end
-- ------------------------------------------------------------------------ --
-- ΣΥΝΗΡΗΜΕΝΑ CONTRACTED
-- ------------------------------------------------------------------------ --
-- #########να δημιουργηθεί φόρμουλα οριζόνται για συνηρημένα
--[=[ schooltext Ikonomou
Κατά το πλοῦς κλίνονται: ὁ θροῦς (= θόρυβος), νοῦς, πνοῦς (= πνοή), ῥοῦς (= ρεύμα), χνοῦς (= χνούδι), χοῦς (= χώμα) κτλ.,
καθώς και τα σε (-εος) -ους συγγενικά (ἀδελφιδέος) ἀδελφιδοῦς (= ανεψιός), (ἀνεψιαδέος)
ἀνεψιαδοῦς (= γιος του πρώτου εξαδέρφου ή της πρώτης εξαδέρφης), (θυγατριδέος) θυγατριδοῦς (= γιος της θυγατέρας) κτλ. -
]=]--
-- ======================= 2η κλίση συνηρημένο [[πλόος]] [[πλοῦς]] ===================================== --
-- [[Πρότυπο:grc-κλίση-'πλους']] -- f.linkcontrol used here
export['πλους'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2'
args['αρσ'] = '1'
args['ομάδα'] = 'πλόος πλοῦς'
-- stems
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
if mw.ustring.find(args['λήμμα'], 'όοι$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
args['κατηγορία κλίσης'] = 'πλόος'
args['τύπος'] = 'πλόος'
args['όπως'] = 'πλόος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
else -- (not -όοι but -οῖ)
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
args['κατηγορία κλίσης'] = 'πλοῦς'
args['τύπος'] = 'πλοῦς'
args['όπως'] = 'πλοῦς'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'αρσενικά περισπώμενα'
end
else --singular
-- args['μείον'] = '3' -- override default stemnumber = 3 (μείον 2)
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4) -- both -όος & -οῦς
if mw.ustring.find(args['λήμμα'], 'όος$') then -- $ = at the end
args['κατηγορία κλίσης'] = 'πλόος'
args['τύπος'] = 'πλόος'
args['όπως'] = 'πλόος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
else -- (not -όος but -οῦς)
args['κατηγορία κλίσης'] = 'πλοῦς'
args['τύπος'] = 'πλοῦς'
args['όπως'] = 'πλοῦς'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'αρσενικά περισπώμενα'
end
end
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent
-- only uncontracted, omit contracted
if args['σνρ'] == '-' or args ['ασυν'] == 'μόνο' then
if args ['ασυν'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'πλόος πλοῦς' μόνο ασυναίρετα"
args['παρατήρηση'] = 'Μόνο ασυναίρετο.'
end
args['mod-οεΛ'] = linkcontrol3((stem["θ"]), "όο", "ς")
args['mod-γεΛ'] = linkcontrol3((stem["θ"]), "ό", "ου")
args['mod-δεΛ'] = linkcontrol3((stem["θ"]), "ό", "ῳ")
args['mod-αεΛ'] = linkcontrol3((stem["θ"]), "όο", "ν")
args['mod-κεΛ'] = linkcontrol3((stem["θ"]), "ό", "ε")
args['mod-οπΛ'] = linkcontrol3((stem["θ"]), "ό", "οι")
args['mod-γπΛ'] = linkcontrol3((stem["θ"]), "ό", "ων")
args['mod-δπΛ'] = linkcontrol3((stem["θ"]), "ό", "οις")
args['mod-απΛ'] = linkcontrol3((stem["θ"]), "ό", "ους")
args['mod-κπΛ'] = linkcontrol3((stem["θ"]), "ό", "οι")
args['mod-οδΛ'] = linkcontrol3((stem["θ"]), "ό", "ω")
args['mod-γδΛ'] = linkcontrol3((stem["θ"]), "ό", "οιν")
end
-- uncontracted & contracted follows >
if args['ασυν'] ~= '-' and args ['σνρ'] ~= '-' and args['ασυν'] ~= 'μόνο' and args ['σνρ'] ~= 'μόνο' then
args['mod-οεΛκειμ1'] = linkcontrol3((stem["θ"]), "όο", "ς") .. ' > '
args['mod-γεΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ου") .. ' > '
args['mod-δεΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ῳ") .. ' > '
args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "όο", "ν") .. ' > '
args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ε") .. ' > '
args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οι") .. ' > '
args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ων") .. ' > '
args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οις") .. ' > '
args['mod-απΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ους") .. ' > '
args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οι") .. ' > '
args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ω") .. ' > '
args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οιν") .. ' > '
end
-- only contracted or both
if (args['ασυν'] == '-' or args ['σνρ'] == 'μόνο' or args['σνρ'] == '' or args['σνρ'] == nil) and args['ασυν'] ~= 'μόνο' then
if args ['σνρ'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'πλόος πλοῦς' μόνο συνηρημένα"
args['παρατήρηση'] = 'Μόνο συνηρημένο.'
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "οῦς"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "οῦ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῷ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "οῦν"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "οῦ"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "οῖ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "οῖς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "οῦς"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "οῖ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "οῖν"
end
return decl(args)
end
-- cf [[ἀδελφιδεός]]
-- ======================= 2η κλίση συνηρημένο [[θυγατριδέος]] [[θυγατριδοῦς]] ===================================== --
-- τα συγγενικά εδώ (είναι αρσενικά)
-- [[Πρότυπο:grc-κλίση-'θυγατριδούς']] -- f.linkcontrol used here
export['θυγατριδούς'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2'
args['αρσ'] = '1'
args['ομάδα'] = 'θυγατριδέος θυγατριδοῦς'
-- stems
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
if mw.ustring.find(args['λήμμα'], 'έοι$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
args['κατηγορία κλίσης'] = 'θυγατριδέος'
args['τύπος'] = 'θυγατριδέος'
args['όπως'] = 'θυγατριδέος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
else -- (not -έοι but -οῖ)
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
args['κατηγορία κλίσης'] = 'θυγατριδοῦς'
args['τύπος'] = 'θυγατριδοῦς'
args['όπως'] = 'θυγατριδοῦς'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'αρσενικά περισπώμενα'
end
else --singular
-- args['μείον'] = '3' -- override default stemnumber = 3 (μείον 2)
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4) -- both -έος & -οῦς
if mw.ustring.find(args['λήμμα'], 'έος$') then -- $ = at the end
args['κατηγορία κλίσης'] = 'θυγατριδέος'
args['τύπος'] = 'θυγατριδέος'
args['όπως'] = 'θυγατριδέος'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
else -- (not -έος but -οῦς)
args['κατηγορία κλίσης'] = 'θυγατριδοῦς'
args['τύπος'] = 'θυγατριδοῦς'
args['όπως'] = 'θυγατριδοῦς'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'αρσενικά περισπώμενα'
end
end
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent
-- only uncontracted, omit contracted
if args['σνρ'] == '-' or args ['ασυν'] == 'μόνο' then
if args ['ασυν'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'θυγατριδέος θυγατριδοῦς' μόνο ασυναίρετα"
args['mod-σημ'] = 'Μόνο ασυναίρετο.'
end
args['mod-οεΛ'] = linkcontrol3((stem["θ"]), "έο", "ς")
args['mod-γεΛ'] = linkcontrol3((stem["θ"]), "έ", "ου")
args['mod-δεΛ'] = linkcontrol3((stem["θ"]), "έ", "ῳ")
args['mod-αεΛ'] = linkcontrol3((stem["θ"]), "έο", "ν")
args['mod-κεΛ'] = linkcontrol3((stem["θ"]), "έ", "ε")
args['mod-οπΛ'] = linkcontrol3((stem["θ"]), "έ", "οι")
args['mod-γπΛ'] = linkcontrol3((stem["θ"]), "έ", "ων")
args['mod-δπΛ'] = linkcontrol3((stem["θ"]), "έ", "οις")
args['mod-απΛ'] = linkcontrol3((stem["θ"]), "έ", "ους")
args['mod-κπΛ'] = linkcontrol3((stem["θ"]), "έ", "οι")
args['mod-οδΛ'] = linkcontrol3((stem["θ"]), "έ", "ω")
args['mod-γδΛ'] = linkcontrol3((stem["θ"]), "έ", "οιν")
end
-- uncontracted & contracted follows >
if args['ασυν'] ~= '-' and args ['σνρ'] ~= '-' and args['ασυν'] ~= 'μόνο' and args ['σνρ'] ~= 'μόνο' then
args['mod-οεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ς") .. ' > '
args['mod-γεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ου") .. ' > '
args['mod-δεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ῳ") .. ' > '
args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ε") .. ' > '
args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οι") .. ' > '
args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ων") .. ' > '
args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οις") .. ' > '
args['mod-απΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ους") .. ' > '
args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οι") .. ' > '
args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ω") .. ' > '
args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οιν") .. ' > '
end
-- contracted or both
if (args['ασυν'] == '-' or args ['σνρ'] == 'μόνο' or args['σνρ'] == '' or args['σνρ'] == nil) and args['ασυν'] ~= 'μόνο' then
if args ['σνρ'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'θυγατριδέος θυγατριδοῦς' μόνο συνηρημένα"
args['mod-σημ'] = 'Μόνο συνηρημένο.'
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "οῦς"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "οῦ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῷ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "οῦν"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "οῦ"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "οῖ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "οῖς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "οῦς"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "οῖ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "οῖν"
end
return decl(args)
end
-- ======================= 2η κλίση συνηρημένο [[περίπλοος]] [[περίπλους]] ===================================== --
-- [[Πρότυπο:grc-κλίση-'περίπλους']] -- f.linkcontrol used here
-- fem [[πρόχους]]
-- also see as adjectives βραδύνους
export['περίπλους'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2'
args['ομάδα'] = 'περίπλοος περίπλους'
-- stems
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
if mw.ustring.find(args['λήμμα'], 'οοι$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['κατηγορία κλίσης'] = 'περίπλοος'
args['τύπος'] = 'περίπλοος'
args['όπως'] = 'περίπλοος'
if args['θηλ'] == '1' then
args['υποκατ02'] = 'θηλυκά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλοος' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλοος' αρσενικά"
end
else -- ΝΟΤ -οοι
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['κατηγορία κλίσης'] = 'περίπλους'
args['τύπος'] = 'περίπλους'
args['όπως'] = 'περίπλους'
if args['θηλ'] == '1' then
args['υποκατ02'] = 'θηλυκά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλους' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλους' αρσενικά"
end
end
else --singular
if mw.ustring.find(args['λήμμα'], 'οος$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['κατηγορία κλίσης'] = 'περίπλοος'
args['τύπος'] = 'περίπλοος'
args['όπως'] = 'περίπλοος'
if args['θηλ'] == '1' then
args['υποκατ02'] = 'θηλυκά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλοος' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά προπαροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλοος' αρσενικά"
end
elseif mw.ustring.find(args['λήμμα'], 'ους$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['κατηγορία κλίσης'] = 'περίπλους'
args['τύπος'] = 'περίπλους'
args['όπως'] = 'περίπλους'
if args['θηλ'] == '1' then
args['υποκατ02'] = 'θηλυκά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλους' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά παροξύτονα'
args['υποκατ03'] = "που κλίνονται όπως το 'περίπλους' αρσενικά"
end
end
end -- close numbers
stem["θ0"] = m_stems.word0(stem["θ"]) -- remove accent
-- only uncontracted, omit contracted
if args['σνρ'] == '-' or args ['ασυν'] == 'μόνο' then
if args ['ασυν'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'περίπλοος περίπλους' μόνο ασυναίρετα"
args['mod-σημ'] = 'Μόνο ασυναίρετο.'
end
args['mod-οεΛ'] = linkcontrol3((stem["θ"]), "οο", "ς")
args['mod-γεΛ'] = linkcontrol3((stem["θ0"]), "ό", "ου")
args['mod-δεΛ'] = linkcontrol3((stem["θ0"]), "ό", "ῳ")
args['mod-αεΛ'] = linkcontrol3((stem["θ"]), "οο", "ν")
args['mod-κεΛ'] = linkcontrol3((stem["θ"]), "ο", "ε")
args['mod-οπΛ'] = linkcontrol3((stem["θ"]), "ο", "οι")
args['mod-γπΛ'] = linkcontrol3((stem["θ0"]), "ό", "ων")
args['mod-δπΛ'] = linkcontrol3((stem["θ0"]), "ό", "οις")
args['mod-απΛ'] = linkcontrol3((stem["θ0"]), "ό", "ους")
args['mod-κπΛ'] = linkcontrol3((stem["θ"]), "ο", "οι")
args['mod-οδΛ'] = linkcontrol3((stem["θ0"]), "ό", "ω")
args['mod-γδΛ'] = linkcontrol3((stem["θ0"]), "ό", "οιν")
end
-- uncontracted & contracted follows >
if args['ασυν'] ~= '-' and args ['σνρ'] ~= '-' and args['ασυν'] ~= 'μόνο' and args ['σνρ'] ~= 'μόνο' then
args['mod-οεΛκειμ1'] = linkcontrol3((stem["θ"]), "οο", "ς") .. ' > '
args['mod-γεΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ου") .. ' > '
args['mod-δεΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ῳ") .. ' > '
args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "οο", "ν") .. ' > '
args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "ε") .. ' > '
args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "οι") .. ' > '
args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ων") .. ' > '
args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "οις") .. ' > '
args['mod-απΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ους") .. ' > '
args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "οι") .. ' > '
args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ω") .. ' > '
args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "οιν") .. ' > '
end
-- contracted or both
if (args['ασυν'] == '-' or args ['σνρ'] == 'μόνο' or args['σνρ'] == '' or args['σνρ'] == nil) and args['ασυν'] ~= 'μόνο' then
if args ['σνρ'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'περίπλοος περίπλους' μόνο συνηρημένα"
args['mod-σημ'] = 'Μόνο συνηρημένο.'
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ους"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ου"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ουν"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ου"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "οι"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "οις"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ους"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "οι"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "οιν"
end
return decl(args)
end
-- ======================= 2η κλίση συνηρημένο [[ὀστέον]] [[ὀστοῦν]] ===================================== --
-- also cf proparoxytone προπαροξύτονο [[κάνεον]]-οῦν
export['οστούν'] = function(frame) -- f.linkcontrol & f.create_link used here
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2'
args['ουδ'] = '1'
args['ομάδα'] = 'ὀστέον ὀστοῦν'
-- stems
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
if mw.ustring.find(args['λήμμα'], 'έα$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
args['κατηγορία κλίσης'] = 'ὀστέον'
args['τύπος'] = 'ὀστέον'
args['όπως'] = 'ὀστέον'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'ουδέτερα παροξύτονα'
elseif mw.ustring.find(args['λήμμα'], 'ᾶ$') then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
args['κατηγορία κλίσης'] = 'ὀστοῦν'
args['τύπος'] = 'ὀστοῦν'
args['όπως'] = 'ὀστοῦν'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'ουδέτερα περισπώμενα'
end
else --singular
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
if mw.ustring.find(args['λήμμα'], 'έον$') then -- $ = at the end
args['κατηγορία κλίσης'] = 'ὀστέον'
args['τύπος'] = 'ὀστέον'
args['όπως'] = 'ὀστέον'
args['κατηγ0'] = 'Λέξεις παροξύτονες'
args['υποκατ01'] = 'παροξύτονα'
args['υποκατ02'] = 'ουδέτερα παροξύτονα'
elseif mw.ustring.find(args['λήμμα'], 'οῦν$') then
args['κατηγορία κλίσης'] = 'ὀστοῦν'
args['τύπος'] = 'ὀστοῦν'
args['όπως'] = 'ὀστοῦν'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'ουδέτερα περισπώμενα'
end
end
-- only uncontracted, omit contracted
if args['σνρ'] == '-' or args ['ασυν'] == 'μόνο' then
if args ['ασυν'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'ὀστέον ὀστοῦν' μόνο ασυναίρετα"
args['mod-σημ'] = 'Μόνο ασυναίρετο.'
end
args['mod-οεΛ'] = linkcontrol3((stem["θ"]), "έο", "ν")
args['mod-γεΛ'] = linkcontrol3((stem["θ"]), "έ", "ου")
args['mod-δεΛ'] = linkcontrol3((stem["θ"]), "έ", "ῳ")
args['mod-αεΛ'] = linkcontrol3((stem["θ"]), "έο", "ν")
args['mod-κεΛ'] = linkcontrol3((stem["θ"]), "έο", "ν")
args['mod-οπΛ'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ"))
args['mod-γπΛ'] = linkcontrol3((stem["θ"]), "έ", "ων")
args['mod-δπΛ'] = linkcontrol3((stem["θ"]), "έ", "οις")
args['mod-απΛ'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ"))
args['mod-κπΛ'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ"))
args['mod-οδΛ'] = linkcontrol3((stem["θ"]), "έ", "ω")
args['mod-γδΛ'] = linkcontrol3((stem["θ"]), "έ", "οιν")
end
-- uncontracted & contracted follows >
if args['ασυν'] ~= '-' and args ['σνρ'] ~= '-' and args['ασυν'] ~= 'μόνο' and args ['σνρ'] ~= 'μόνο' then
args['mod-οεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
args['mod-γεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ου") .. ' > '
args['mod-δεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ῳ") .. ' > '
args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
args['mod-οπΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' > '
args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ων") .. ' > '
args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οις") .. ' > '
args['mod-απΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' > '
args['mod-κπΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' > '
args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ω") .. ' > '
args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οιν") .. ' > '
end
-- contracted or both
if (args['ασυν'] == '-' or args ['σνρ'] == 'μόνο' or args['σνρ'] == '' or args['σνρ'] == nil) and args['ασυν'] ~= 'μόνο' then
if args ['σνρ'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'ὀστέον ὀστοῦν' μόνο συνηρημένα"
args['mod-σημ'] = 'Μόνο συνηρημένο.'
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "οῦν"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "οῦ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῷ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "οῦν"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "οῦν"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ᾶ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "οῖς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ᾶ"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ᾶ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "οῖν"
end
return decl(args)
end
-- ======================= 2η κλίση συνηρημένο [[κάνεον]] [[κανοῦν]] ===================================== --
-- cf paroxytone παροξύτονο οστέον-οῦν
export['κάνεον'] = function(frame) -- f.linkcontrol & f.create_link used here
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2'
args['ουδ'] = '1'
args['ομάδα'] = 'κάνεον κανοῦν'
-- stems
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
if mw.ustring.find(args['λήμμα'], 'εα$') then -- $ = at the end
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
args['κατηγορία κλίσης'] = 'κάνεον'
args['τύπος'] = 'κάνεον'
args['όπως'] = 'κάνεον'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'ουδέτερα προπαροξύτονα'
elseif mw.ustring.find(args['λήμμα'], 'ᾶ$') then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
args['κατηγορία κλίσης'] = 'κανοῦν'
args['τύπος'] = 'κανοῦν'
args['όπως'] = 'κανοῦν'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'ουδέτερα περισπώμενα'
end
else --singular
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-4)
if mw.ustring.find(args['λήμμα'], 'εον$') then -- $ = at the end
args['κατηγορία κλίσης'] = 'κάνεον'
args['τύπος'] = 'κάνεον'
args['όπως'] = 'κάνεον'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'ουδέτερα προπαροξύτονα'
elseif mw.ustring.find(args['λήμμα'], 'οῦν$') then
args['κατηγορία κλίσης'] = 'κανοῦν'
args['τύπος'] = 'κανοῦν'
args['όπως'] = 'κανοῦν'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
args['υποκατ02'] = 'ουδέτερα περισπώμενα'
end
end
stem["θ0"] = m_stems.word0(stem["θ"])
stem["θ1"] = m_stems.word1(stem["θ0"])
-- only uncontracted, omit contracted
if args['σνρ'] == '-' or args ['ασυν'] == 'μόνο' then
if args ['ασυν'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'κάνεον κανοῦν' μόνο ασυναίρετα"
args['mod-σημ'] = 'Μόνο ασυναίρετο.'
end
args['mod-οεΛ'] = linkcontrol3((stem["θ1"]), "εο", "ν")
args['mod-γεΛ'] = linkcontrol3((stem["θ0"]), "έ", "ου")
args['mod-δεΛ'] = linkcontrol3((stem["θ0"]), "έ", "ῳ")
args['mod-αεΛ'] = linkcontrol3((stem["θ1"]), "εο", "ν")
args['mod-κεΛ'] = linkcontrol3((stem["θ1"]), "εο", "ν")
args['mod-οπΛ'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ"))
args['mod-γπΛ'] = linkcontrol3((stem["θ0"]), "έ", "ων")
args['mod-δπΛ'] = linkcontrol3((stem["θ0"]), "έ", "οις")
args['mod-απΛ'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ"))
args['mod-κπΛ'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ"))
args['mod-οδΛ'] = linkcontrol3((stem["θ0"]), "έ", "ω")
args['mod-γδΛ'] = linkcontrol3((stem["θ0"]), "έ", "οιν")
end
-- uncontracted & contracted follows >
if args['ασυν'] ~= '-' and args ['σνρ'] ~= '-' and args['ασυν'] ~= 'μόνο' and args ['σνρ'] ~= 'μόνο' then
args['mod-οεΛκειμ1'] = linkcontrol3((stem["θ1"]), "εο", "ν") .. ' > '
args['mod-γεΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "ου") .. ' > '
args['mod-δεΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "ῳ") .. ' > '
args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ1"]), "εο", "ν") .. ' > '
args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ1"]), "εο", "ν") .. ' > '
args['mod-οπΛκειμ1'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ")) .. ' > '
args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "ων") .. ' > '
args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "οις") .. ' > '
args['mod-απΛκειμ1'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ")) .. ' > '
args['mod-κπΛκειμ1'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ")) .. ' > '
args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "ω") .. ' > '
args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "οιν") .. ' > '
end
-- contracted or both
if (args['ασυν'] == '-' or args ['σνρ'] == 'μόνο' or args['σνρ'] == '' or args['σνρ'] == nil) and args['ασυν'] ~= 'μόνο' then
if args ['σνρ'] == 'μόνο' then
args['υποκατ04'] = "που κλίνονται όπως η ομάδα 'κάνεον κανοῦν' μόνο συνηρημένα"
args['mod-σημ'] = 'Μόνο συνηρημένο.'
end
args['mod-οεθ'] = stem["θ0"] args['mod-οε'] = "οῦν"
args['mod-γεθ'] = stem["θ0"] args['mod-γε'] = "οῦ"
args['mod-δεθ'] = stem["θ0"] args['mod-δε'] = "ῷ"
args['mod-αεθ'] = stem["θ0"] args['mod-αε'] = "οῦν"
args['mod-κεθ'] = stem["θ0"] args['mod-κε'] = "οῦν"
args['mod-οπθ'] = stem["θ0"] args['mod-οπ'] = "ᾶ"
args['mod-γπθ'] = stem["θ0"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ0"] args['mod-δπ'] = "οῖς"
args['mod-απθ'] = stem["θ0"] args['mod-απ'] = "ᾶ"
args['mod-κπθ'] = stem["θ0"] args['mod-κπ'] = "ᾶ"
args['mod-οδθ'] = stem["θ0"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ0"] args['mod-γδ'] = "οῖν"
end
return decl(args)
end
-- ------------------------------------------------------------------------ --
-- ΑΤΤΙΚΟΚΛΙΤΑ Attic declension
-- ------------------------------------------------------------------------ --
-- Smyth http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A1999.04.0007%3Apart%3D2%3Achapter%3D13%3Asection%3D17
-- ======================= 2η κλίση αττικόκλιτα [[λαγώς]] ===================================== --
-- 2η κλίση αρσενικά/θηλυκά οξύτονα αττικόκλιτα βλ. και περισπώμενα [[λαγῶς]] -- ἡ [[Κῶς]]
-- [[Πρότυπο:grc-κλίση-'νεώς']]
export['νεώς'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
stem['stem'] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
end
args['κλίση'] = '2αττ'
args['κατηγορία κλίσης'] = 'νεώς'
args['τύπος'] = 'νεώς'
args['όπως'] = 'νεώς'
args['κατηγ0'] = 'Λέξεις οξύτονες'
args['υποκατ01'] = 'οξύτονα'
if args['θηλ'] == "1" then -- e.g. ??
args['υποκατ02'] = 'θηλυκά οξύτονα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά οξύτονα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' αρσενικά"
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ώς"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ώ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῴ"
-- Smtyth.238. In the acc.sg some words end in -ω or -ων, as λαγώ or λαγών. So ὁ Ἄθως, ἡ Κέως, ἡ Τέως, ἡ Κῶς, ὁ Μί_νως. ἡ ἕως dawn always has ἕω.
if args['αε2'] == "ώ" then
args['αεθ'] = stem["θ"] args['αε'] = "ών"
args['αε2θ'] = stem["θ"] args['αε2'] = "ώ" -- like [[λαγώς]]
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' με δύο αιτιατικές ενικού"
else
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ών"
end
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ώς"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ῴ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ών"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "ῴς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ώς"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ῴ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ώ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "ῴν"
return decl(args)
end
-- ############## check ALL forms -- done by substituting previous with perispomeni
-- ======================= 2η κλίση αττικόκλιτα [[λαγῶς]] ===================================== --
-- 2η κλίση αρσενικά/θηλυκά περισπώμενα αττικόκλιτα βλ. και οξύτονα [[λαγώς]]
-- [[Πρότυπο:grc-κλίση-'λαγῶς']]
export['λαγῶς'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
args['κλίση'] = '2αττ'
args['κατηγορία κλίσης'] = 'λαγῶς'
args['τύπος'] = 'λαγῶς'
args['όπως'] = 'λαγῶς'
args['κατηγ0'] = 'Λέξεις περισπώμενες'
args['υποκατ01'] = 'περισπώμενα'
-- stem
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
end
if args['θηλ'] == "1" then -- e.g. ἡ [[Κῶς]]
args['υποκατ02'] = 'θηλυκά περισπώμενα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά περισπώμενα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' αρσενικά"
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ῶς"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ῶ"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῷ"
-- Smtyth.238. In the acc.sg some words end in -ω or -ων, as λαγώ or λαγών. So ὁ Ἄθως, ἡ Κέως, ἡ Τέως, ἡ Κῶς, ὁ Μί_νως. ἡ ἕως dawn always has ἕω.
if args['αε2'] == "ῶ" then
args['αεθ'] = stem["θ"] args['αε'] = "ῶν"
args['αε2θ'] = stem["θ"] args['αε2'] = "ῶ" -- like [[Κῶς]] (acc @Bailly)
args['υποκατ03'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' με δύο αιτιατικές ενικού"
else
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ῶν"
end
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ῶς"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ῷ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ῶν"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "ῷς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ῶς"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ῷ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ῷ"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "ῷν"
return decl(args)
end
-- ======================= 2η κλίση αττικόκλιτα [[κάλως]] [[ἅλως]] ===================================== --
-- 2η κλίση αρσενικά\θηλυκά παροξύτονα αττικόκλιτα ΜΕΡΙΚΑ ? + αιτιατική και 1ης κλίσης
-- Smyth http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A1999.04.0007%3Apart%3D2%3Achapter%3D13%3Asection%3D17
export['κάλως'] = function(frame) -- [[Πρότυπο:grc-κλίση-'κάλως']] + διπλή αιτιατική / εξ.
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
end
args['κλίση'] = '2αττ'
args['κατηγορία κλίσης'] = 'κάλως'
args['τύπος'] = 'κάλως'
args['όπως'] = 'κάλως'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
if args['θηλ'] == "1" then
args['υποκατ02'] = 'θηλυκά προπαροξύτονα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' θηλυκά"
else
args['αρσ'] = '1'
args['υποκατ02'] = 'αρσενικά προπαροξύτονα'
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' αρσενικά"
end
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ως"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ω"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῳ"
--αιτ.ενικού Smyth So ὁ Ἄθως, ἡ Κέως, ἡ Τέως, ἡ Κῶς, ὁ Μί_νως. ἡ ἕως dawn always has ἕω.
if args['λήμμα'] == 'ἕως' then
-- LOCKED
args['αεθ'] = stem["θ"] args['αε'] = "ω" args['mod-αεΛκειμ'] = '<sup>*</sup>'
args['εξ'] = '1'
args['σημ'] = "* Αιτιατική ενικού μόνο σε '''-ω''' (αντί -ων)."
else
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ω"
if args['αε2'] == "ων" then
-- LOCKED
args['αεθ'] = stem["θ"] args['αε'] = "ω"
args['αε2θ'] = stem["θ"] args['αε2'] = "ων"
args['υποκατ0'] = "που κλίνονται όπως το '" .. args['τύπος'] .. "' με δύο αιτιατικές ενικού"
else
-- do nothing
end
end
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ως"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ῳ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ων"
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "ῳς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ως"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ῳ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "ῳν"
return decl(args)
end
-- ======================= 2η κλίση αττικόκλιτα [[πρόνεως]]===================================== --
-- 2η κλίση αρσενικά προπαροξύτονα αττικόκλιτα -- έχει και θηλ?
-- [[Πρότυπο:grc-κλίση-'πρόνεως']]
export['πρόνεως'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
end
args['κλίση'] = '2αττ'
args['αρσ'] = '1' -- are there fem?
args['κατηγορία κλίσης'] = 'πρόνεως' -- split paroxytones [[κάλως]] are they ALWAYS like άλως??
args['τύπος'] = 'πρόνεως'
args['όπως'] = 'πρόνεως'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'αρσενικά προπαροξύτονα'
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ως"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ω"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ων"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ως"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ῳ"
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ων" --! πρόνεων
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "ῳς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ως"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ῳ"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "ῳν"
return decl(args)
end
-- ======================= 2η κλίση αττικόκλιτα [[ἀνώγεων]] ===================================== --
-- 2η κλίση ουδέτερα προπαροξύτονα αττικόκλιτα -- υπάρχουν παροξύτονα?
-- [[Πρότυπο:grc-κλίση-'ανώγεων']] -- Όπως στα επίθετα # ἵλεως τὸ ἵλεων
export['ἀνώγεων'] = function(frame)
local args = frame:getParent().args
-- lemma
local lemma = args['λήμμα'] or ''
PAGENAME = mw.title.getCurrentTitle().text
if lemma == '' or lemma == nil then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" )
else lemma = args['λήμμα']
end
local stem = {}
if args['α'] == "πλ" or args['α2'] == "πλ" or args['α'] == "πλδ" or args['α2'] == "πλδ" then
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-2)
else
stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-3)
end
args['κλίση'] = '2αττ'
args['ουδ'] = '1'
args['κατηγορία κλίσης'] = 'ἀνώγεων'
args['τύπος'] = 'ἀνώγεων'
args['όπως'] = 'ἀνώγεων'
args['κατηγ0'] = 'Λέξεις προπαροξύτονες'
args['υποκατ01'] = 'προπαροξύτονα'
args['υποκατ02'] = 'ουδέτερα προπαροξύτονα'
args['mod-οεθ'] = stem["θ"] args['mod-οε'] = "ων"
args['mod-γεθ'] = stem["θ"] args['mod-γε'] = "ω"
args['mod-δεθ'] = stem["θ"] args['mod-δε'] = "ῳ"
args['mod-αεθ'] = stem["θ"] args['mod-αε'] = "ων"
args['mod-κεθ'] = stem["θ"] args['mod-κε'] = "ων"
args['mod-οπθ'] = stem["θ"] args['mod-οπ'] = "ω" -- ΝΟ υπογεγραμμένη, there is no ι
args['mod-γπθ'] = stem["θ"] args['mod-γπ'] = "ω" --! ἀνώγεω
args['mod-δπθ'] = stem["θ"] args['mod-δπ'] = "ῳς"
args['mod-απθ'] = stem["θ"] args['mod-απ'] = "ω"
args['mod-κπθ'] = stem["θ"] args['mod-κπ'] = "ω"
args['mod-οδθ'] = stem["θ"] args['mod-οδ'] = "ω"
args['mod-γδθ'] = stem["θ"] args['mod-γδ'] = "ῳν"
return decl(args)
end
return export