taipa
Version:
Taiwanese morphological parsing library
78 lines (77 loc) • 3.34 kB
TypeScript
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;
}