This is a private module sandbox of Holodwig21, for his own experimentation. Items in this module may be added and removed at Holodwig21's discretion; do not rely on this module's stability.
local decl_data = {}
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
local stem = args
data.decl_type = "masculine a-stem"
data.forms = {args .. destress_if_stressed("áh")}
data.forms = {args .. "a"}
data.forms = {args .. destress_if_stressed("ám")}
data.forms = {args .. destress_if_stressed("ā́")}
data.forms = {args .. destress_if_stressed("ā́t")}
data.forms = {args .. destress_if_stressed("ā́y")}
data.forms = {args .. destress_if_stressed("áhya, áhyā")}
data.forms = {args .. destress_if_stressed("áy")}
data.forms = {args .. destress_if_stressed("ā́")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áybyaH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áyāh")}
data.forms = data.forms
if not args.nopl then
data.forms = {args .. destress_if_stressed("ā́, -āhah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ā́n")}
data.forms = {args .. destress_if_stressed("ā́yš")}
data.forms = {args .. destress_if_stressed("áybyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ā́naHm")}
data.forms = {args .. destress_if_stressed("áyšu, -áyšuwa")}
end
table.insert(data.categories, "Proto-Iranian a-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
decl_data(args, data)
data.decl_type = "neuter a-stem"
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ā́")}
data.forms = data.forms
data.forms = data.forms
if not args.nopl then
data.forms = {args .. destress_if_stressed("áH")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áH, -án")}
end
end
})
decl_data = {
params = {
= {},
= {},
= {},
= {},
= {},
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
local pagename = mw.title.getCurrentTitle().subpageText
local s = mw.ustring.sub(pagename, -1, -1)
-- Check for s-stems
if mw.ustring.sub(pagename, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(pagename, -2, -2), "") then
s = ""
end
-- (mw.ustring.find(mw.ustring.sub(args, -1, -1), "") and "s" or "z")
data.decl_type = "consonant stem"
data.forms = {args.nomsg or (args .. s)}
data.forms = {args}
data.forms = {args .. "am"}
data.forms = {args .. "aH"}
data.forms = {args .. "ah"}
data.forms = {args .. "ay"}
data.forms = data.forms
data.forms = {args .. "i"}
data.forms = {args.nomsg or (args .. "āw")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args.insdu or args .. "byaH, -byām"}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. "awš"}
data.forms = data.forms
if not args.nopl then
data.forms = {args.nomsg or (args .. "ah")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args.inspl or args .. "biš"}
data.forms = {args.ablpl or args .. "byaH"}
data.forms = data.forms
data.forms = {args .. "ām"}
data.forms = {args.locpl or args .. "hu"}
end
table.insert(data.categories, "Proto-Iranian consonant stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
decl_data(args, data)
data.decl_type = "neuter consonant stem"
data.forms = {args.nomsg or (args)}
data.forms = data.forms
data.forms = data.forms
if not args.nopl then
data.forms = {args.nomsg or (args)}
data.forms = data.forms
data.forms = data.forms
end
end
})
decl_data = {
params = {
= {},
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "masculine i-stem"
data.forms = {args .. destress_if_stressed("íš")}
data.forms = {args .. destress_if_stressed("í")}
data.forms = {args .. destress_if_stressed("ím")}
data.forms = {args .. destress_if_stressed("áuš")}
data.forms = {args .. destress_if_stressed("áuš")}
data.forms = {args .. destress_if_stressed("áyš")}
data.forms = {args .. destress_if_stressed("áyš")}
data.forms = {args .. destress_if_stressed("ā́uw")}
data.forms = {args .. destress_if_stressed("íHy")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íbyaH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHyaH")}
data.forms = data.forms
if not args.nopl then
data.forms = {args .. destress_if_stressed("áyas")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ī́n, -ī́š")}
data.forms = {args .. destress_if_stressed("íbiš")}
data.forms = {args .. destress_if_stressed("íbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áyām?")}
data.forms = {args .. destress_if_stressed("íšu")}
end
if args.g == "f" then
data.decl_type = "feminine i-stem"
data.forms = {args .. destress_if_stressed("(išt)yā́")}
data.forms = {args .. destress_if_stressed("áyš, *-yáš")}
data.forms = {args .. destress_if_stressed("ā́w, *-yā́")}
data.forms = {args .. destress_if_stressed("yáwš")}
data.forms = data.forms
end
table.insert(data.categories, "Proto-Indo-Iranian i-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
decl_data(args, data)
data.decl_type = "neuter i-stem"
data.forms = data.forms
data.forms = data.forms
if not args.nopl then
data.forms = {args .. destress_if_stressed("ī")}
data.forms = data.forms
data.forms = data.forms
end
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "feminine iH-stem"
data.forms = {args .. destress_if_stressed("íHh")}
data.forms = {args .. destress_if_stressed("í")}
data.forms = {args .. destress_if_stressed("íyam")}
data.forms = {args .. destress_if_stressed("íyáH")}
data.forms = {args .. destress_if_stressed("íyah")}
data.forms = {args .. destress_if_stressed("íyay")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íyi")}
data.forms = {args .. destress_if_stressed("íyaH́")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHbyaH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íyaHh")}
data.forms = {args .. destress_if_stressed("íyaw")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("íyah")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHbiš")}
data.forms = {args .. destress_if_stressed("íHbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHām")}
data.forms = {args .. destress_if_stressed("íHhu")}
end
table.insert(data.categories, "Proto-Iranian iH-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "aH-stem"
data.forms = {args .. destress_if_stressed("áH")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ā́m")}
data.forms = {args .. destress_if_stressed("áyaH")}
data.forms = data.forms
data.forms = data.forms
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áy")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áHbyā")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("āyāH")}
data.forms = {args .. destress_if_stressed("āyaH")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("ā́h")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áHbiš")}
data.forms = {args .. destress_if_stressed("áHbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("áHnām")}
data.forms = {args .. destress_if_stressed("áHšuwaH")}
end
table.insert(data.categories, "Proto-Iranian aH-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "yaH-stem"
data.forms = {args .. destress_if_stressed("íH")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHm")}
data.forms = {args .. destress_if_stressed("yáH")}
data.forms = {args .. destress_if_stressed("yáHh")}
data.forms = {args .. destress_if_stressed("yáy")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHbyā(m)")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íyāh")}
data.forms = {args .. destress_if_stressed("íyaw")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("íH́h")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHbiš")}
data.forms = {args .. destress_if_stressed("íHbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("íHnām")}
data.forms = {args .. destress_if_stressed("íHhu")}
end
table.insert(data.categories, "Proto-Iranian yaH-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "uH-stem"
data.forms = {args .. destress_if_stressed("úHh")}
data.forms = {args .. "u"}
data.forms = {args .. destress_if_stressed("úwam")}
data.forms = {args .. destress_if_stressed("úwaH")}
data.forms = {args .. destress_if_stressed("úwah")}
data.forms = {args .. destress_if_stressed("úway")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("úwi")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("úwah")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("úHbiš")}
data.forms = {args .. destress_if_stressed("úHbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("úH́na(H)m")}
data.forms = {args .. destress_if_stressed("úHhu")}
end
table.insert(data.categories, "Proto-Iranian uH-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "masculine u-stem"
data.forms = {args .. destress_if_stressed("úš")}
data.forms = {args .. destress_if_stressed("aw")}
data.forms = {args .. destress_if_stressed("úm")}
data.forms = {args .. destress_if_stressed("úH́")}
data.forms = {args .. destress_if_stressed("áwš")}
data.forms = {args .. destress_if_stressed("áway")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ā́(w)?")}
data.forms = {args .. destress_if_stressed("úH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("úbyaH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("úwaHh")}
data.forms = {args .. destress_if_stressed("úwaw")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("áwah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("únš")}
data.forms = {args .. destress_if_stressed("úbiš")}
data.forms = {args .. destress_if_stressed("úbyah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("únām?")}
data.forms = {args .. destress_if_stressed("úšu")}
end
table.insert(data.categories, "Proto-Iranian u-stem nouns")
end
})
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
decl_data(args, data)
data.decl_type = "neuter u-stem"
data.forms = data.forms
data.forms = data.forms
if not args.nopl then
data.forms = data.forms
data.forms = data.forms
data.forms = data.forms
end
end
})
decl_data = {
params = {
= {},
= {},
},
}
decl_data = {
params = {
= {},
= {},
},
}
setmetatable(decl_data, {__call = function(self, args, data)
data.decl_type = "r-stem"
data.forms = {args .. destress_if_stressed("ā́")}
data.forms = {args .. "ar"}
data.forms = {args .. destress_if_stressed("áram, *-ā́ram")}
data.forms = {args .. destress_if_stressed("ráH")}
data.forms = {args .. destress_if_stressed("ráh")}
data.forms = {args .. destress_if_stressed("ráy")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ári")}
data.forms = {args .. destress_if_stressed("áraH, -ā́raH")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ŕ̥byā(m)")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ráHh")}
data.forms = {args .. destress_if_stressed("ráw")}
if not args.nopl then
data.forms = {args .. destress_if_stressed("árah, -ā́rah")}
data.forms = data.forms
data.forms = data.forms
data.forms = {args .. destress_if_stressed("ŕ̥biš")}
data.forms = {args .. destress_if_stressed("ŕ̥byah")}
data.forms = data.forms
data.forms = {args .. destress_if_stressed("rā́m")}
data.forms = {args .. destress_if_stressed("ŕ̥šu")}
end
table.insert(data.categories, "Proto-Iranian r-stem nouns")
end
})
decl_data = {}
setmetatable(decl_data, {__call = function(self, args, data)
local word = mw.title.getCurrentTitle().subpageText
irreg_data = require("Module:User:Holodwig21/ira-decl-noun/data/irreg")
if irreg_data.irreg then
irreg_data.irreg(args, data)
else
error("Irregular inflection not found. Please check Module:ira-decl-noun/data.")
end
table.insert(data.categories, "Proto-Iranian irregular nouns")
end
})
return decl_data