UNPKG

taipa

Version:

Taiwanese morphological parsing library

108 lines 3.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.smIk = exports.smEk = exports.smVowelMng = exports.smMngFywxz = exports.smBgjklpsF = exports.smBgkpWx = exports.smLWx = exports.smJsW = exports.smBgkpF = exports.smJlsF = exports.smMnngHWx = exports.smMnngHF = void 0; const tonalres_1 = require("../tonal/tonalres"); const collections_1 = require("../tonal/collections"); // mhf, nhf, nghf // export const regexMnngHF = /(m|ng?)hf/g; // mhf, nhf, nghf const smMnngHF = function (nasalFinal, neutralFinalH, firstTonalF) { if (collections_1.nasalFinalConsonants.includes(nasalFinal) && tonalres_1.TonalLetterTags.h === neutralFinalH && tonalres_1.TonalLetterTags.f === firstTonalF) return true; return false; }; exports.smMnngHF = smMnngHF; // mhw, mhx, nhw, nhx, nghw, nghx // export const regexMnngHWx = /(m|ng?)h(w|x)/g; // mhw, mhx, nhw, nhx, nghw, nghx const smMnngHWx = function (nasalFinal, neutralFinalH, tonalWX) { if (collections_1.nasalFinalConsonants.includes(nasalFinal) && tonalres_1.TonalLetterTags.h === neutralFinalH && collections_1.toneLettersWx.includes(tonalWX)) return true; return false; }; exports.smMnngHWx = smMnngHWx; // jf, lf, sf // export const regexJlsF = /(j|l|s)f/g; // jf, lf, sf const smJlsF = function (finalJls, firstTonalF) { if (collections_1.finalConsonantsJls.includes(finalJls) && tonalres_1.TonalLetterTags.f === firstTonalF) return true; return false; }; exports.smJlsF = smJlsF; // bf, gf, kf, pf const smBgkpF = function (finalBgkp, firstTonalF) { if (collections_1.finalConsonantsBgkp.includes(finalBgkp) && tonalres_1.TonalLetterTags.f === firstTonalF) return true; return false; }; exports.smBgkpF = smBgkpF; // jw, lw, lx, sw. there is no jx and sx. // export const regexJlsWx = /(j|l|s)(w|x)/g; // jw, sw const smJsW = function (finalJs, tonalW) { if (collections_1.finalConsonantsJs.includes(finalJs) && tonalres_1.TonalLetterTags.w === tonalW) return true; return false; }; exports.smJsW = smJsW; // lw, lx const smLWx = function (finalL, tonalWX) { if (tonalres_1.TonalLetterTags.l === finalL && collections_1.toneLettersWx.includes(tonalWX)) return true; return false; }; exports.smLWx = smLWx; // bw, bx, gw, gx, kw, kx, pw, px const smBgkpWx = function (finalBgkp, tonalWX) { // used by syllabifyTonal for morpheme // check out the collections.ts for lexemes if (collections_1.finalConsonantsBgkp.includes(finalBgkp) && collections_1.toneLettersWx.includes(tonalWX)) return true; return false; }; exports.smBgkpWx = smBgkpWx; // bf, gf, jf, kf, lf, pf, sf const smBgjklpsF = function (finalBgjklps, firstToneF) { if (tonalres_1.finalConsonantsBgjklpsTonal.includes(finalBgjklps) && tonalres_1.TonalLetterTags.f === firstToneF) return true; return false; }; exports.smBgjklpsF = smBgjklpsF; // iengz, uamz const smMngFywxz = function (finalMng, toneLetter) { if (collections_1.finalConsonantsMng.includes(finalMng) && tonalres_1.freeToneLettersTonal.includes(toneLetter)) return true; return false; }; exports.smMngFywxz = smMngFywxz; const smVowelMng = function (medial, finalMng) { if (tonalres_1.vowelsTonal.includes(medial) && collections_1.finalConsonantsMng.includes(finalMng)) return true; return false; }; exports.smVowelMng = smVowelMng; // -ek const smEk = function (medialE, medialK) { if (medialE === tonalres_1.TonalLetterTags.e && medialK === tonalres_1.TonalLetterTags.k) return true; return false; }; exports.smEk = smEk; // -ik const smIk = function (medialI, medialK) { if (medialI === tonalres_1.TonalLetterTags.i && medialK === tonalres_1.TonalLetterTags.k) return true; return false; }; exports.smIk = smIk; //# sourceMappingURL=matcher.js.map