taipa
Version:
Taiwanese morphological parsing library
256 lines • 14.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.impossibleSequences = exports.finalConsonantsForTransfix = exports.eighthToFourthFinalConsonants = exports.sandhiFinalPPpttt = exports.fourthToEighthFinalConsonants = exports.fourthFinalConsonants = exports.finalConsonantsForBgjlsFw = exports.finalConsonantsForBglX = exports.finalConsonantsForBgjlsbbggjjllss = exports.finalConsonantsBgjlsbbggjjllss = exports.voicedVoicelessFinalConsonants = exports.voicelessVoicedFinalConsonants = exports.initialConsonantsBghjl = exports.ttInitialTInitialPairs = exports.initialConsonantsForTT = exports.initialConsonantsForFinalT = exports.finalConsonantsMng = exports.finalConsonantsBgkp = exports.finalConsonantsJs = exports.finalConsonantsJls = exports.epentheticLetters = exports.toneLettersWx = exports.combiningRules = exports.nasalFinalConsonants = exports.nasalInitialConsonants = void 0;
const tonalres_1 = require("./tonalres");
// m, n, ng
const nasalConsonants = [
tonalres_1.TonalLetterTags.m.toString(),
tonalres_1.TonalLetterTags.n.toString(),
tonalres_1.TonalLetterTags.ng.toString(),
];
exports.nasalInitialConsonants = nasalConsonants;
exports.nasalFinalConsonants = nasalConsonants;
exports.combiningRules = new Map()
.set(tonalres_1.TonalLetterTags.zero, [tonalres_1.TonalLetterTags.z])
.set(tonalres_1.TonalLetterTags.y, [tonalres_1.TonalLetterTags.zero, tonalres_1.TonalLetterTags.f])
.set(tonalres_1.TonalLetterTags.w, [tonalres_1.TonalLetterTags.y])
.set(tonalres_1.TonalLetterTags.x, [tonalres_1.TonalLetterTags.z, tonalres_1.TonalLetterTags.w])
.set(tonalres_1.TonalLetterTags.z, [tonalres_1.TonalLetterTags.w])
.set(tonalres_1.TonalLetterTags.p, [
tonalres_1.TonalLetterTags.f,
tonalres_1.TonalLetterTags.w,
tonalres_1.TonalLetterTags.x,
])
.set(tonalres_1.TonalLetterTags.t, [
tonalres_1.TonalLetterTags.f,
tonalres_1.TonalLetterTags.w,
tonalres_1.TonalLetterTags.x,
])
.set(tonalres_1.TonalLetterTags.k, [
tonalres_1.TonalLetterTags.f,
tonalres_1.TonalLetterTags.w,
tonalres_1.TonalLetterTags.x,
])
.set(tonalres_1.TonalLetterTags.h, [
tonalres_1.TonalLetterTags.y,
tonalres_1.TonalLetterTags.f,
tonalres_1.TonalLetterTags.w,
tonalres_1.TonalLetterTags.x,
])
.set(tonalres_1.TonalLetterTags.pp, [tonalres_1.TonalLetterTags.w, tonalres_1.TonalLetterTags.x])
.set(tonalres_1.TonalLetterTags.tt, [tonalres_1.TonalLetterTags.w, tonalres_1.TonalLetterTags.x])
.set(tonalres_1.TonalLetterTags.kk, [tonalres_1.TonalLetterTags.w, tonalres_1.TonalLetterTags.x])
.set(tonalres_1.TonalLetterTags.hh, [tonalres_1.TonalLetterTags.w, tonalres_1.TonalLetterTags.x]);
// w, x
exports.toneLettersWx = [
tonalres_1.TonalLetterTags.w.toString(),
tonalres_1.TonalLetterTags.x.toString(),
];
// b, l, g, m, n
exports.epentheticLetters = [
tonalres_1.TonalLetterTags.b.toString(),
tonalres_1.TonalLetterTags.l.toString(),
tonalres_1.TonalLetterTags.g.toString(),
tonalres_1.TonalLetterTags.m.toString(),
tonalres_1.TonalLetterTags.n.toString(),
];
// j, l, s for 1st, 3rd, 5th checked tones
exports.finalConsonantsJls = [
tonalres_1.TonalLetterTags.j.toString(),
tonalres_1.TonalLetterTags.l.toString(),
tonalres_1.TonalLetterTags.s.toString(),
];
// j, l, s for 1st, 3rd checked tones
exports.finalConsonantsJs = [
tonalres_1.TonalLetterTags.j.toString(),
tonalres_1.TonalLetterTags.s.toString(),
];
// b, g, k, p
exports.finalConsonantsBgkp = [
tonalres_1.TonalLetterTags.b.toString(),
tonalres_1.TonalLetterTags.g.toString(),
tonalres_1.TonalLetterTags.k.toString(),
tonalres_1.TonalLetterTags.p.toString(),
];
// sandhi final m, ng for final n
exports.finalConsonantsMng = [
tonalres_1.TonalLetterTags.m.toString(),
tonalres_1.TonalLetterTags.ng.toString(),
];
exports.initialConsonantsForFinalT = {
ph: tonalres_1.TonalLetterTags.ph.toString(),
kh: tonalres_1.TonalLetterTags.kh.toString(),
b: tonalres_1.TonalLetterTags.b.toString(),
g: tonalres_1.TonalLetterTags.g.toString(),
j: tonalres_1.TonalLetterTags.j.toString(),
k: tonalres_1.TonalLetterTags.k.toString(),
s: tonalres_1.TonalLetterTags.s.toString(),
p: tonalres_1.TonalLetterTags.p.toString(),
m: tonalres_1.TonalLetterTags.m.toString(),
n: tonalres_1.TonalLetterTags.n.toString(),
ng: tonalres_1.TonalLetterTags.ng.toString(),
};
exports.initialConsonantsForTT = {
ph: tonalres_1.TonalLetterTags.ph.toString(),
kh: tonalres_1.TonalLetterTags.kh.toString(),
g: tonalres_1.TonalLetterTags.g.toString(),
b: tonalres_1.TonalLetterTags.b.toString(),
j: tonalres_1.TonalLetterTags.j.toString(),
k: tonalres_1.TonalLetterTags.k.toString(),
s: tonalres_1.TonalLetterTags.s.toString(),
p: tonalres_1.TonalLetterTags.p.toString(),
m: tonalres_1.TonalLetterTags.m.toString(),
n: tonalres_1.TonalLetterTags.n.toString(),
ng: tonalres_1.TonalLetterTags.ng.toString(),
};
// tt, t
exports.ttInitialTInitialPairs = new Map()
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.ph, tonalres_1.TonalLetterTags.p)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.p, tonalres_1.TonalLetterTags.p)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.kh, tonalres_1.TonalLetterTags.k)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.k, tonalres_1.TonalLetterTags.k)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.g, tonalres_1.TonalLetterTags.g)
.set(tonalres_1.TonalLetterTags.t + tonalres_1.TonalLetterTags.f + exports.initialConsonantsForFinalT.j, tonalres_1.TonalLetterTags.j)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.m, tonalres_1.TonalLetterTags.h)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.n, tonalres_1.TonalLetterTags.h)
.set(tonalres_1.TonalLetterTags.t + exports.initialConsonantsForFinalT.ng, tonalres_1.TonalLetterTags.h)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.ph, tonalres_1.TonalLetterTags.pp)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.p, tonalres_1.TonalLetterTags.pp)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.kh, tonalres_1.TonalLetterTags.kk)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.k, tonalres_1.TonalLetterTags.kk)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.g, tonalres_1.TonalLetterTags.gg)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.b, tonalres_1.TonalLetterTags.bb)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.j, tonalres_1.TonalLetterTags.jj)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.s, tonalres_1.TonalLetterTags.ss)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.m, tonalres_1.TonalLetterTags.hh)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.n, tonalres_1.TonalLetterTags.hh)
.set(tonalres_1.TonalLetterTags.tt + exports.initialConsonantsForTT.ng, tonalres_1.TonalLetterTags.hh);
// b, g, h, j, l
exports.initialConsonantsBghjl = [
// mutate preceding finals to voiced ones
tonalres_1.TonalLetterTags.b.toString(),
tonalres_1.TonalLetterTags.g.toString(),
tonalres_1.TonalLetterTags.h.toString(),
tonalres_1.TonalLetterTags.j.toString(),
tonalres_1.TonalLetterTags.l.toString(),
];
/** Turn preceding finals to voiced ones. Unvoiced to voiced */
exports.voicelessVoicedFinalConsonants = new Map()
.set(tonalres_1.TonalLetterTags.p, tonalres_1.TonalLetterTags.b)
.set(tonalres_1.TonalLetterTags.t, tonalres_1.TonalLetterTags.l)
.set(tonalres_1.TonalLetterTags.k, tonalres_1.TonalLetterTags.g)
.set(tonalres_1.TonalLetterTags.pp, tonalres_1.TonalLetterTags.bb)
.set(tonalres_1.TonalLetterTags.tt, tonalres_1.TonalLetterTags.ll)
.set(tonalres_1.TonalLetterTags.kk, tonalres_1.TonalLetterTags.gg);
exports.voicedVoicelessFinalConsonants = new Map()
.set(tonalres_1.TonalLetterTags.b, tonalres_1.TonalLetterTags.p) // external sandhi
.set(tonalres_1.TonalLetterTags.l, tonalres_1.TonalLetterTags.t)
.set(tonalres_1.TonalLetterTags.g, tonalres_1.TonalLetterTags.k)
.set(tonalres_1.TonalLetterTags.b + tonalres_1.TonalLetterTags.f, tonalres_1.TonalLetterTags.p) // internal sandhi
.set(tonalres_1.TonalLetterTags.b + tonalres_1.TonalLetterTags.x, tonalres_1.TonalLetterTags.pp)
.set(tonalres_1.TonalLetterTags.l + tonalres_1.TonalLetterTags.f, tonalres_1.TonalLetterTags.t)
.set(tonalres_1.TonalLetterTags.l + tonalres_1.TonalLetterTags.x, tonalres_1.TonalLetterTags.tt)
.set(tonalres_1.TonalLetterTags.g + tonalres_1.TonalLetterTags.f, tonalres_1.TonalLetterTags.k)
.set(tonalres_1.TonalLetterTags.g + tonalres_1.TonalLetterTags.x, tonalres_1.TonalLetterTags.kk)
.set(tonalres_1.TonalLetterTags.bb, tonalres_1.TonalLetterTags.pp) // external sandhi
.set(tonalres_1.TonalLetterTags.ll, tonalres_1.TonalLetterTags.tt)
.set(tonalres_1.TonalLetterTags.gg, tonalres_1.TonalLetterTags.kk);
/** sandhi final consonants b, g, j, l, s, bb, gg, jj, ll, ss */
exports.finalConsonantsBgjlsbbggjjllss = [
tonalres_1.TonalLetterTags.b.toString(),
tonalres_1.TonalLetterTags.g.toString(),
tonalres_1.TonalLetterTags.j.toString(),
tonalres_1.TonalLetterTags.l.toString(),
tonalres_1.TonalLetterTags.s.toString(),
tonalres_1.TonalLetterTags.bb.toString(),
tonalres_1.TonalLetterTags.gg.toString(),
tonalres_1.TonalLetterTags.jj.toString(),
tonalres_1.TonalLetterTags.ll.toString(),
tonalres_1.TonalLetterTags.ss.toString(),
];
/** unchanged final consonants for b, g, j, l, s, bb, gg, jj, ll, ss */
exports.finalConsonantsForBgjlsbbggjjllss = new Map()
// keys are for the has method
// keys and values are for the get method. keys are finals plus no tonals
.set(tonalres_1.TonalLetterTags.b, [tonalres_1.TonalLetterTags.p, tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.g, [tonalres_1.TonalLetterTags.k, tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.j, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.l, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.s, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.bb, [tonalres_1.TonalLetterTags.pp, tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.gg, [tonalres_1.TonalLetterTags.kk, tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.jj, [tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.ll, [tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.ss, [tonalres_1.TonalLetterTags.tt]);
// followed by ay. from 5th to 8th
exports.finalConsonantsForBglX = new Map()
.set(tonalres_1.TonalLetterTags.b + tonalres_1.TonalLetterTags.x, [tonalres_1.TonalLetterTags.pp])
.set(tonalres_1.TonalLetterTags.g + tonalres_1.TonalLetterTags.x, [tonalres_1.TonalLetterTags.kk])
.set(tonalres_1.TonalLetterTags.l + tonalres_1.TonalLetterTags.x, [tonalres_1.TonalLetterTags.tt]);
// followed by a syllable. from 1st to 4th. from 3rd to 8th
exports.finalConsonantsForBgjlsFw = new Map()
// both keys and values are for the has method
.set(tonalres_1.TonalLetterTags.b + tonalres_1.TonalLetterTags.f, [
tonalres_1.TonalLetterTags.p,
tonalres_1.TonalLetterTags.t,
])
.set(tonalres_1.TonalLetterTags.b + tonalres_1.TonalLetterTags.w, [
tonalres_1.TonalLetterTags.pp,
tonalres_1.TonalLetterTags.tt,
])
.set(tonalres_1.TonalLetterTags.g + tonalres_1.TonalLetterTags.f, [
tonalres_1.TonalLetterTags.k,
tonalres_1.TonalLetterTags.t,
])
.set(tonalres_1.TonalLetterTags.g + tonalres_1.TonalLetterTags.w, [
tonalres_1.TonalLetterTags.kk,
tonalres_1.TonalLetterTags.tt,
])
.set(tonalres_1.TonalLetterTags.l + tonalres_1.TonalLetterTags.f, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.l + tonalres_1.TonalLetterTags.w, [tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.j + tonalres_1.TonalLetterTags.f, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.j + tonalres_1.TonalLetterTags.w, [tonalres_1.TonalLetterTags.tt])
.set(tonalres_1.TonalLetterTags.s + tonalres_1.TonalLetterTags.f, [tonalres_1.TonalLetterTags.t])
.set(tonalres_1.TonalLetterTags.s + tonalres_1.TonalLetterTags.w, [tonalres_1.TonalLetterTags.tt]);
exports.fourthFinalConsonants = {
p: tonalres_1.TonalLetterTags.p.toString(),
t: tonalres_1.TonalLetterTags.t.toString(),
k: tonalres_1.TonalLetterTags.k.toString(),
h: tonalres_1.TonalLetterTags.h.toString(),
b: tonalres_1.TonalLetterTags.b.toString(),
g: tonalres_1.TonalLetterTags.g.toString(),
j: tonalres_1.TonalLetterTags.j.toString(),
l: tonalres_1.TonalLetterTags.l.toString(),
s: tonalres_1.TonalLetterTags.s.toString(),
};
exports.fourthToEighthFinalConsonants = new Map()
.set(tonalres_1.TonalLetterTags.p, tonalres_1.TonalLetterTags.pp)
.set(tonalres_1.TonalLetterTags.t, tonalres_1.TonalLetterTags.tt)
.set(tonalres_1.TonalLetterTags.k, tonalres_1.TonalLetterTags.kk)
.set(tonalres_1.TonalLetterTags.h, tonalres_1.TonalLetterTags.hh);
exports.sandhiFinalPPpttt = [
tonalres_1.TonalLetterTags.p.toString(),
tonalres_1.TonalLetterTags.pp.toString(),
tonalres_1.TonalLetterTags.t.toString(),
tonalres_1.TonalLetterTags.tt.toString(),
];
/** map eighth checked finals to fourth ones */
exports.eighthToFourthFinalConsonants = new Map()
.set(tonalres_1.TonalLetterTags.bb, exports.fourthFinalConsonants.b.toString())
.set(tonalres_1.TonalLetterTags.gg, exports.fourthFinalConsonants.g.toString())
.set(tonalres_1.TonalLetterTags.hh, exports.fourthFinalConsonants.h.toString())
.set(tonalres_1.TonalLetterTags.jj, exports.fourthFinalConsonants.j.toString())
.set(tonalres_1.TonalLetterTags.kk, exports.fourthFinalConsonants.k.toString())
.set(tonalres_1.TonalLetterTags.ll, exports.fourthFinalConsonants.l.toString())
.set(tonalres_1.TonalLetterTags.pp, exports.fourthFinalConsonants.p.toString())
.set(tonalres_1.TonalLetterTags.ss, exports.fourthFinalConsonants.s.toString())
.set(tonalres_1.TonalLetterTags.tt, exports.fourthFinalConsonants.t.toString());
exports.finalConsonantsForTransfix = new Map()
.set(tonalres_1.TonalLetterTags.h, tonalres_1.TonalLetterTags.hh.toString())
.set(tonalres_1.TonalLetterTags.t, tonalres_1.TonalLetterTags.tt.toString());
exports.impossibleSequences = [
// TonalLetterTags.d.toString(),
// TonalLetterTags.q.toString(),
// TonalLetterTags.v.toString(),
];
//# sourceMappingURL=collections.js.map