UNPKG

taipa

Version:

Taiwanese morphological parsing library

54 lines 1.89 kB
"use strict"; 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