Перейти до вмісту

Модуль: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("ΛΑΘΟΣ ΚΛΙΣΗ. Επιλέξτε κλίση για προπαροξύτονα όπως &#123;&#123;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("ΛΑΘΟΣ ΚΛΙΣΗ. Χρησιμοποιήσατε κλίση για προπαροξύτονα. Επιλέξτε μια κλίση όπως &#123;&#123;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["θ"]), "ό", "ῳ") .. ' &nbsp; > '
	args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "όο", "ν") .. ' > '
	args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ε") .. '  &nbsp; > '
	args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οι") .. ' &nbsp; > '
	args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ων") .. ' > '
	args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οις") .. ' > '
	args['mod-απΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ους") .. ' > '
	args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "οι") .. ' &nbsp; > '
	args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "ό", "ω") .. ' &nbsp; > '
	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["θ"]), "έ", "ῳ") .. ' &nbsp; > '
	args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
	args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ε") .. '  &nbsp; > '
	args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οι") .. ' &nbsp; > '
	args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ων") .. ' > '
	args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οις") .. ' > '
	args['mod-απΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ους") .. ' > '
	args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οι") .. ' &nbsp; > '
	args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ω") .. ' &nbsp; > '
	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"]), "ό", "ῳ") .. ' &nbsp; > '
	args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "οο", "ν") .. ' > '
	args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "ε") .. '  &nbsp; > '
	args['mod-οπΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "οι") .. ' &nbsp; > '
	args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ων") .. ' > '
	args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "οις") .. ' > '
	args['mod-απΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ους") .. ' > '
	args['mod-κπΛκειμ1'] = linkcontrol3((stem["θ"]), "ο", "οι") .. ' &nbsp; > '
	args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ0"]), "ό", "ω") .. ' &nbsp; > '
	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["θ"]), "έ", "ῳ") .. ' &nbsp; > '
	args['mod-αεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
	args['mod-κεΛκειμ1'] = linkcontrol3((stem["θ"]), "έο", "ν") .. ' > '
	args['mod-οπΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' &nbsp; > '
	args['mod-γπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ων") .. ' > '
	args['mod-δπΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οις") .. ' > '
	args['mod-απΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' &nbsp; > '
	args['mod-κπΛκειμ1'] = create_link(stem["θ"] .."έ" .. "α", stem_color(stem["θ"]) .. infix_color("έ") .. ending_color("ᾰ")) .. ' &nbsp; > '
	args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "ω") .. ' &nbsp; > '
	args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ"]), "έ", "οιν") .. ' &nbsp; > '
	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"]), "έ", "ῳ") .. ' &nbsp; > '
	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("ᾰ")) .. ' &nbsp; > '
	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("ᾰ")) .. ' &nbsp; > '
	args['mod-κπΛκειμ1'] = create_link(stem["θ1"] .."ε" .. "α", stem_color(stem["θ1"]) .. infix_color("ε") .. ending_color("ᾰ")) .. ' &nbsp; > '
	args['mod-οδΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "ω") .. ' &nbsp; > '
	args['mod-γδΛκειμ1'] = linkcontrol3((stem["θ0"]), "έ", "οιν") .. ' &nbsp; > '
	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