taipa
Version:
Taiwanese morphological parsing library
108 lines • 3.92 kB
JavaScript
;
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