45,639
edits
No edit summary |
No edit summary |
||
(45 intermediate revisions by the same user not shown) | |||
Line 186: | Line 186: | ||
data.forms["m"] = {s3 .. "mme"} | data.forms["m"] = {s3 .. "mme"} | ||
loc = s3 .. "mmei" | loc = s3 .. "mmei" | ||
elseif stem:match(v.."vv.$") then | |||
data.forms["m"] = {s3 .. "vve"} | |||
loc = s3 .. "vvei" | |||
elseif stem:match(v.."[mpbvnrlkg].$") then | elseif stem:match(v.."[mpbvnrlkg].$") then | ||
local stl = sub(stem, -2, -2) | local stl = sub(stem, -2, -2) | ||
Line 272: | Line 275: | ||
na = true | na = true | ||
end | end | ||
elseif stem:match(v.."hh.$") then | |||
data.forms["m"] = {s3 .. "hdi"} | |||
loc = s3 .. "hdi" | |||
elseif stem:match(v.."[mn][mn].$") then | elseif stem:match(v.."[mn][mn].$") then | ||
data.forms["m"] = {s3 .. "ndi"} | data.forms["m"] = {s3 .. "ndi"} | ||
Line 382: | Line 388: | ||
data.forms["m"] = {sub(stem, 1, -5) .. "ṡko"} | data.forms["m"] = {sub(stem, 1, -5) .. "ṡko"} | ||
loc = sub(stem, 1, -5) .. "ṡkoi" | loc = sub(stem, 1, -5) .. "ṡkoi" | ||
elseif stem:match(v.."hh.$") then | |||
data.forms["m"] = {s3 .. "hko"} | |||
loc = s3 .. "hkoi" | |||
elseif stem:match(v.."[mnv][mnv].$") then | elseif stem:match(v.."[mnv][mnv].$") then | ||
data.forms["m"] = {(sub(stem, -4, -4) == "o" and sub(stem, 1, -5) .. "õ" or s3) .. "kko"} | data.forms["m"] = {(sub(stem, -4, -4) == "o" and sub(stem, 1, -5) .. "õ" or s3) .. "kko"} | ||
Line 412: | Line 421: | ||
ine, ade, all, abl = del .. "mi", del .. "mi", del .. "mi", del .. "mi" | ine, ade, all, abl = del .. "mi", del .. "mi", del .. "mi", del .. "mi" | ||
na = true | na = true | ||
elseif | elseif s1:match(v.."[bptd]$") then | ||
data.forms["m"] = {s2 .. "bma"} | data.forms["m"] = {s2 .. "bma"} | ||
loc = s2 .. "bmi" | loc = s2 .. "bmi" | ||
elseif | elseif s1:match(v.."[mn][mn]$") then | ||
data.forms["m"] = {s3 .. "mma"} | data.forms["m"] = {s3 .. "mma"} | ||
loc = s3 .. "mmi" | loc = s3 .. "mmi" | ||
elseif | elseif s1:match(v.."[rhgk][rhgk]$") then | ||
data.forms["m"] = {s3 .. "hma"} | |||
loc = s3 .. "hmi" | |||
elseif s1:match(v.."[mnv]$") then | |||
data.forms["m"] = {s2 .. "mma"} | data.forms["m"] = {s2 .. "mma"} | ||
loc = s2 .. "mmi" | loc = s2 .. "mmi" | ||
elseif | elseif s1:match(v.."[rhgk]$") then | ||
data.forms["m"] = {s2 .. "hma"} | data.forms["m"] = {s2 .. "hma"} | ||
loc = s2 .. "hmi" | loc = s2 .. "hmi" | ||
elseif | elseif s1:match(v.."l$") then | ||
data.forms["m"] = {s2 .. "lma"} | data.forms["m"] = {s2 .. "lma"} | ||
loc = s2 .. "lmi" | loc = s2 .. "lmi" | ||
Line 495: | Line 507: | ||
na = true | na = true | ||
end | end | ||
elseif stem:match("[ | elseif stem:match("[ouyỷů]$") then | ||
if args.ld then | if args.ld then | ||
data.forms["m"] = {stem .. "ma"} | data.forms["m"] = {stem .. "ma"} | ||
Line 680: | Line 692: | ||
["nolen"] = {type = "boolean"}, | ["nolen"] = {type = "boolean"}, | ||
["d"] = {type = "boolean"}, | ["d"] = {type = "boolean"}, | ||
[" | ["d2"] = {type = "boolean"}, | ||
["s"] = {type = "boolean"}, | ["s"] = {type = "boolean"}, | ||
}, | }, | ||
Line 735: | Line 747: | ||
data.forms["m"] = {stem .. "ta"} | data.forms["m"] = {stem .. "ta"} | ||
loc = match(stem, "on$") and s2 .. "õri" or s1 .. "ri" | loc = match(stem, "on$") and s2 .. "õri" or s1 .. "ri" | ||
elseif sv:match("[ | elseif sv:match("[eiyůỉę]$") then | ||
data.forms["m"] = {s1 .. "s"} | data.forms["m"] = {s1 .. "s"} | ||
loc = s1 .. "s" .. (args.d and "" or "i") | loc = s1 .. "s" .. (args.d and "" or "i") | ||
Line 767: | Line 779: | ||
if args.ut then | if args.ut then | ||
data.forms["m"] = {s2 .. "lda", s1 .. "tta"} | data.forms["m"] = {s2 .. "lda", s1 .. "tta"} | ||
loc = s1 .. "ttai" | |||
elseif sv:match("[aou]$") then | elseif sv:match("[aou]$") then | ||
data.forms["m"] = {stem .. "ta"} | data.forms["m"] = {stem .. "ta"} | ||
loc = stem .. "tai" | |||
elseif sv:match("[eiyů]$") then | elseif sv:match("[eiyů]$") then | ||
data.forms["m"] = {s1 .. "tsta", s1 .. "ddįa", s1 .. "tsitta"} | data.forms["m"] = {s1 .. "tsta", s1 .. "ddįa", s1 .. "tsitta"} | ||
loc = s1 .. "tsti" | |||
end | |||
data.forms["ine"] = {(ine or loc) .. ce[1]} | |||
data.forms["ill"] = {(ill or loc) .. ce[2]} | |||
data.forms["ela"] = {(ela or loc) .. ce[3]} | |||
data.forms["ade"] = {(ade or loc) .. ce[4]} | |||
data.forms["all"] = {(all or loc) .. ce[5]} | |||
data.forms["abl"] = {(abl or loc) .. ce[6]} | |||
for n, case in pairs(cases) do | |||
if sv:match("[eiyů]$") then | |||
table.insert(data.forms[case], s1 .. "ddįi" .. ce[n]) | |||
table.insert(data.forms[case], s1 .. "tsitti" .. ce[n]) | |||
end | |||
end | end | ||
end | end | ||
}) | }) | ||
Line 825: | Line 855: | ||
[2] = {}, -- stressed vowel | [2] = {}, -- stressed vowel | ||
["h"] = {type = "boolean"}, -- Human | ["h"] = {type = "boolean"}, -- Human | ||
["t"] = {type = "boolean"}, -- extra T | |||
["av"] = {type = "boolean"}, -- After Vowel | ["av"] = {type = "boolean"}, -- After Vowel | ||
["s"] = {type = "boolean"}, | ["s"] = {type = "boolean"}, | ||
Line 849: | Line 880: | ||
data.forms["m_pl"] = {s2 .. (exactly(sv, "[ou]") and "ṡi" or "ka") .. "gi"} | data.forms["m_pl"] = {s2 .. (exactly(sv, "[ou]") and "ṡi" or "ka") .. "gi"} | ||
elseif stem:match("mi$") then | elseif stem:match("mi$") then | ||
data.forms["m_sg"] = {s2 .. "ta"} | data.forms["m_sg"] = {s2 .. (args.t and "t" or "") .. "ta"} | ||
if stem:match(v.."..$") then table.insert(data.forms["m_sg"], s2 .. "tta") end | if stem:match(v.."..$") then table.insert(data.forms["m_sg"], s2 .. "tta") end | ||
data.forms["u_pl"] = {stem .. "gi"} | data.forms["u_pl"] = {stem .. "gi"} | ||
Line 856: | Line 887: | ||
table.insert(data.forms["u_pl"], s2 .. "mṡi") | table.insert(data.forms["u_pl"], s2 .. "mṡi") | ||
end | end | ||
data.forms["m_pl"] = {s2 .. "tagi"} | data.forms["m_pl"] = {s2 .. (args.t and "t" or "") .. "tagi"} | ||
if stem:match(v.."..$") then table.insert(data.forms["m_pl"], s2 .. "ttagi") end | if stem:match(v.."..$") then table.insert(data.forms["m_pl"], s2 .. "ttagi") end | ||
elseif stem:match("[bpv]a$") then | elseif stem:match("[bpv]a$") then | ||
Line 866: | Line 897: | ||
elseif stem:match("[bpv]i$") then | elseif stem:match("[bpv]i$") then | ||
local repl = gsub(s2, "h$", "k"); repl = gsub(repl, "ḍ$", "hh"); repl = gsub(repl, "lp$", "ll") | local repl = gsub(s2, "h$", "k"); repl = gsub(repl, "ḍ$", "hh"); repl = gsub(repl, "lp$", "ll") | ||
repl = gsub(repl, "p$", "ḥḥ") | repl = gsub(repl, "p$", "ḥḥ"); repl = gsub(repl, "ṡ$", "ṡṡ") | ||
data.forms["m_sg"] = {repl .. "umi"} | data.forms["m_sg"] = {repl .. "umi"} | ||
data.forms["u_pl"] = {stem .. "gi"} | data.forms["u_pl"] = {stem .. "gi"} | ||
Line 877: | Line 908: | ||
elseif stem:match("[tn][ao]$") then | elseif stem:match("[tn][ao]$") then | ||
data.forms["u_pl"] = {stem .. "gi"} | data.forms["u_pl"] = {stem .. "gi"} | ||
if stem:match(nv.."..$") and not stem:match("[ | if stem:match(nv.."..$") and not stem:match("[tsḍlgġksṡrd]..$") then | ||
data.forms["m_sg"] = {s2 .. "ųa"} | data.forms["m_sg"] = {s2 .. "ųa"} | ||
data.forms["m_pl"] = {s2 .. "ųagi"} | data.forms["m_pl"] = {s2 .. "ųagi"} | ||
Line 934: | Line 965: | ||
elseif stem:match("[lr]i$") then | elseif stem:match("[lr]i$") then | ||
data.forms["u_pl"] = {s1 .. (av and "hi" or "igi")} | data.forms["u_pl"] = {s1 .. (av and "hi" or "igi")} | ||
data.forms["m_sg"] = {s2 .. (stem:match("dli$") and "dįa" or "tṡa" | data.forms["m_sg"] = {s2 .. (stem:match("dli$") and "dįa" or s1:match("r$") and "" or "l") .. "tṡa"} | ||
data.forms["m_pl"] = {s2 .. (stem:match("dli$") and "dįagi" or "tṡagi" | data.forms["m_pl"] = {s2 .. (stem:match("dli$") and "dįagi" or s1:match("r$") and "" or "l") .. "tṡagi"} | ||
elseif stem:match("lu$") then | elseif stem:match("lu$") then | ||
data.forms["u_pl"] = {s1 .. (av and "hi" or "ugi")} | data.forms["u_pl"] = {s1 .. (av and "hi" or "ugi")} | ||
Line 984: | Line 1,015: | ||
end | end | ||
}) | }) | ||
data["aḍba"] = function(args, data) | |||
data.forms["u_pl"] = {"aḍba"} | |||
data.forms["m_pl"] = {"aubba"} | |||
end | |||
data["aumulhi"] = function(args, data) | data["aumulhi"] = function(args, data) | ||
Line 1,060: | Line 1,096: | ||
data.forms["all"] = {"ivveibma", "iobibma"} | data.forms["all"] = {"ivveibma", "iobibma"} | ||
data.forms["abl"] = {"ivveiska", "iobiska"} | data.forms["abl"] = {"ivveiska", "iobiska"} | ||
end | |||
data["eu"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"eu"} | |||
data.forms["m"] = {"eme"} | |||
end | end | ||
Line 1,099: | Line 1,142: | ||
data.forms["u"] = {"gảgi"} | data.forms["u"] = {"gảgi"} | ||
data.forms["m"] = {"gęįagi"} | data.forms["m"] = {"gęįagi"} | ||
end | end | ||
Line 1,127: | Line 1,163: | ||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | table.insert(data.categories, "Siwa diphthong-coalescence nouns") | ||
data.forms["u"] = {"goi"} | data.forms["u"] = {"goi"} | ||
data.forms["m"] = {" | data.forms["m"] = {"goįo"} | ||
end | end | ||
Line 1,295: | Line 1,331: | ||
data.forms["u_pl"] = {"koḍḍa"} | data.forms["u_pl"] = {"koḍḍa"} | ||
data.forms["m_pl"] = {"kỏhha"} | data.forms["m_pl"] = {"kỏhha"} | ||
end | end | ||
Line 1,448: | Line 1,477: | ||
data.forms["u"] = {"ỏ"} | data.forms["u"] = {"ỏ"} | ||
data.forms["m"] = {"obo", "ỏbo"} | data.forms["m"] = {"obo", "ỏbo"} | ||
end | |||
data["pỷka"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"pỷka"} | |||
data.forms["m"] = {"pyby"} | |||
end | |||
data["retema"] = function(args, data) | |||
data.decl_type = "irregular" | |||
table.insert(data.categories, "Siwa irregular nouns") | |||
data.forms["u_sg"] = {"retema"} | |||
data.forms["u_pl"] = {"revva"} | |||
data.forms["m_sg"] = {"sitema"} | |||
data.forms["m_pl"] = {"sivva"} | |||
end | |||
data["rįaḍba"] = function(args, data) | |||
data.decl_type = "dual" | |||
table.insert(data.categories, "Siwa dual nouns") | |||
data.forms["u_sg"] = {"rįanna"} | |||
data.forms["u_pl"] = {"rįaḍba"} | |||
data.forms["m_sg"] = {"rįanka"} | |||
data.forms["m_pl"] = {"rįaubba"} | |||
end | |||
data["rủ"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"rủ"} | |||
data.forms["m"] = {"rumu"} | |||
end | |||
data["rỷ"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"rỷ"} | |||
data.forms["m"] = {"rymy"} | |||
end | |||
data["sảhpa"] = function(args, data) | |||
data.decl_type = "dual" | |||
table.insert(data.categories, "Siwa dual nouns") | |||
data.forms["u_sg"] = {"sảhta"} | |||
data.forms["u_pl"] = {"sảhpa"} | |||
data.forms["m_sg"] = {"sảhhųa"} | |||
data.forms["m_pl"] = {"sảmġa"} | |||
end | |||
data["saḍba"] = function(args, data) | |||
data.decl_type = "dual" | |||
table.insert(data.categories, "Siwa dual nouns") | |||
data.forms["u_sg"] = {"sata"} | |||
data.forms["u_pl"] = {"saḍba"} | |||
data.forms["m_sg"] = {"savva"} | |||
data.forms["m_pl"] = {"saubba"} | |||
end | end | ||
Line 1,456: | Line 1,542: | ||
data.forms["m_sg"] = {"sảmoųi"} | data.forms["m_sg"] = {"sảmoųi"} | ||
data.forms["m_pl"] = {"sąmoṡi"} | data.forms["m_pl"] = {"sąmoṡi"} | ||
end | |||
data["sẻu"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"sẻu"} | |||
data.forms["m"] = {"sůbů"} | |||
end | |||
data["tiebba"] = function(args, data) | |||
data.decl_type = "dual" | |||
table.insert(data.categories, "Siwa dual nouns") | |||
data.forms["u_sg"] = {"tiemo"} | |||
data.forms["u_pl"] = {"tiebba"} | |||
data.forms["m_sg"] = {"tieka"} | |||
data.forms["m_pl"] = {"tiehba"} | |||
end | |||
data["tỏ"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"tỏ"} | |||
data.forms["m"] = {"tobo"} | |||
end | end | ||
Line 1,465: | Line 1,574: | ||
data.forms["m_sg"] = {"todatta"} | data.forms["m_sg"] = {"todatta"} | ||
data.forms["m_pl"] = {"todattagi"} | data.forms["m_pl"] = {"todattagi"} | ||
end | |||
data["tṡemi"] = function(args, data) | |||
table.insert(data.categories, "Siwa irregular adjectives") | |||
data.forms["u"] = {"tṡemi"} | |||
data.forms["m"] = {"tṡebi"} | |||
data.forms["ine"] = {"tṡebi" .. ce[1]} | |||
data.forms["ill"] = {"tṡebi" .. ce[2]} | |||
data.forms["ela"] = {"tṡebi" .. ce[3]} | |||
data.forms["ade"] = {"tṡebi" .. ce[4]} | |||
data.forms["all"] = {"tṡebi" .. ce[5]} | |||
data.forms["abl"] = {"tṡebi" .. ce[6]} | |||
end | |||
data["umpa"] = function(args, data) | |||
data.decl_type = "dual" | |||
table.insert(data.categories, "Siwa dual nouns") | |||
data.forms["u_sg"] = {"uba"} | |||
data.forms["u_pl"] = {"umpa"} | |||
data.forms["m_sg"] = {"oama"} | |||
data.forms["m_pl"] = {"ủppa"} | |||
end | |||
data["vả"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"vả"} | |||
data.forms["m"] = {"vęįa"} | |||
end | |||
data["ỷ"] = function(args, data) | |||
data.decl_type = "coalescence" | |||
table.insert(data.categories, "Siwa diphthong-coalescence nouns") | |||
data.forms["u"] = {"ỷ"} | |||
data.forms["m"] = {"yby"} | |||
end | end | ||
return data | return data |