taipa
Version:
Taiwanese morphological parsing library
54 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.tonalInflectionAnalyzer = exports.morphAnalyzeChanging = void 0;
const morpheme_1 = require("./morpheme");
const lexeme_1 = require("./lexeme");
const metaplasm_1 = require("./metaplasm");
const analyzer_1 = require("../unchange/analyzer");
/**
* Analyzes a string into morphemes. Morphological analysis.
* @param str A word.
*/
function morphAnalyzeChanging(str) {
const gs = (0, analyzer_1.graphAnalyzeTonal)(str);
const tschmm = new morpheme_1.TonalSoundChangingMorphemeMaker();
const mrphs = tschmm.makeMorphemes(gs);
return mrphs;
}
exports.morphAnalyzeChanging = morphAnalyzeChanging;
/** Analyzes a string into morphemes or lexeme. */
exports.tonalInflectionAnalyzer = {
/**
* Analyzes a string or graphemes into morphemes. Morphological analysis.
* @param x A string or graphemes
* @param metaplasm A combining metaplasm
*/
morphAnalyze(x, metaplasm) {
let gs = [];
if (typeof x == 'object') {
gs = x;
}
else if (typeof x == 'string') {
gs = (0, analyzer_1.graphAnalyzeTonal)(x);
}
const mm = new morpheme_1.TonalCombiningMorphemeMaker(metaplasm);
return mm.makeMorphemes(gs);
},
/**
* Analyzes a string or morphemes into a lexeme. Lexical analysis.
* @param x A string or combining morphemes
* @param metaplasm An inflection metaplasm
*/
lexAnalyze(x, metaplasm) {
let ms = [];
if (typeof x == 'object') {
ms = x;
}
else if (typeof x == 'string') {
ms = this.morphAnalyze(x, new metaplasm_1.TonalCombiningForms());
}
const lm = new lexeme_1.TonalInflectionLexemeMaker(metaplasm);
return lm.makeLexemes(ms);
},
};
//# sourceMappingURL=analyzer.js.map