UNPKG

taipa

Version:

Taiwanese morphological parsing library

78 lines (77 loc) 3.34 kB
import { Lexeme } from '../unit'; import { LexemeMaker } from '../maker'; import { TonalCombiningMorpheme, TonalSoundChangingMorpheme } from './morpheme'; import { TonalWord, AllomorphicEnding } from '../unchange/unit'; import { TonalSoundUnchangingMorpheme } from '../unchange/morpheme'; import { TonalInflectionMetaplasm, TonalInsertionMetaplasm, TonalInfectionMetaplasm, TonalUnmutationMetaplasm, TonalUninfectionMetaplasm, TonalMutationMetaplasm } from '../metaplasm'; /** A word and its inflected forms. */ export declare class TonalInflectionLexeme extends Lexeme { word: TonalWord; private forms; private endingAllomorphic; constructor(morphemes: Array<TonalCombiningMorpheme>, metaplasm: TonalInflectionMetaplasm); private assignAllomorphicEnding; getInflectionalEnding(): string; getAllomorphicEnding(): "" | AllomorphicEnding; private assignWordForms; getForms(): TonalWord[]; } /** A word and its inserted forms. */ export declare class TonalInsertionLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundChangingMorpheme>, metaplasm: TonalInsertionMetaplasm); getForms(): TonalWord[]; insertWith(preceding: TonalInsertionLexeme): TonalWord[]; } /** A word and its inserted forms. */ export declare class TonalUninsertionLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundUnchangingMorpheme>, metaplasm: TonalInsertionMetaplasm); getForms(): TonalWord[]; uninsertWith(preceding: TonalUninsertionLexeme): TonalWord[]; } export declare class TonalInfectionLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundChangingMorpheme>, metaplasm: TonalInfectionMetaplasm); getForms(): TonalWord[]; infectWith(preceding: TonalInfectionLexeme): TonalWord[]; } export declare class TonalUninfectionLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundUnchangingMorpheme>, metaplasm: TonalUninfectionMetaplasm); getForms(): TonalWord[]; uninfectWith(preceding: TonalUninfectionLexeme): TonalWord[]; } /** A word and its mutated forms. */ export declare class TonalMutationLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundChangingMorpheme>, metaplasm: TonalMutationMetaplasm); getForms(): TonalWord[]; mutateWith(following: TonalMutationLexeme): TonalWord[]; } /** A word and its unmutated forms. */ export declare class TonalUnmutationLexeme implements Lexeme { private morphemes; word: TonalWord; private forms; constructor(morphemes: Array<TonalSoundUnchangingMorpheme>, metaplasm: TonalUnmutationMetaplasm); getForms(): TonalWord[]; unmutateWith(following: TonalUnmutationLexeme): TonalWord[]; } export declare class TonalInflectionLexemeMaker extends LexemeMaker { private metaplasm; constructor(metaplasm: TonalInflectionMetaplasm); makeLexemes(morphemes: Array<TonalCombiningMorpheme>): TonalInflectionLexeme; protected make(morphemes: Array<TonalCombiningMorpheme>): TonalInflectionLexeme; private checkFifth; }