এই মডিউলের জন্য মডিউল:grc-link/data/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে

local make_auto_subtabler = require("Module:auto-subtable")

local content = mw.title.new("Appendix:Ancient Greek endings"):getContent()

local endings = {}

-- Find entries for endings marked by the syntax "; [[...]]".
-- Store them in a table.
for anchor in content:gmatch("\n; %[%[([^%]]+)%]%]") do
	if anchor:find("[\128-\255]") then
		for suffix in anchor:gmatch("%-[^%s,]+") do
			endings[suffix] = true
		end
	end
end

local shares_ending = make_auto_subtabler()

-- The actual purpose of this data module:
-- Check if each ending ends with the characters of any smaller endings, by
-- snipping off progressively larger pieces of the ending and comparing them to
-- all other endings.
-- If so, store the ending in an array indexed by the shorter ending.
-- For instance, -εσθαι ends with the characters of -αι and -σθαι.
for ending in pairs(endings) do
	for i = 1, mw.ustring.len(ending) - 2 do -- Ignore the first two characters because of the hyphen.
		local sub_ending = "-" .. mw.ustring.sub(ending, -i)
		if endings[sub_ending] then
			table.insert(shares_ending[sub_ending], ending)
		end
	end
end

shares_ending:un_auto_subtable()

return { shares_ending = shares_ending }