UNPKG

taipa

Version:

Taiwanese morphological parsing library

256 lines 14.9 kB
"use strict"; 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