taipa
Version:
Taiwanese morphological parsing library
59 lines (58 loc) • 2.45 kB
TypeScript
import { MatchedPattern, Morpheme } from '../unit';
import { MorphemeMaker } from '../maker';
import { TonalSyllable } from '../unchange/unit';
import { Allomorph } from '../tonal/tonalres';
import { AlphabeticGrapheme, Sound } from '../unit';
import { TonalCombiningMetaplasm } from '../metaplasm';
/** A syllable and its combining forms. */
export declare class TonalCombiningMorpheme extends Morpheme {
syllable: TonalSyllable;
allomorph: Allomorph;
private metaplasm;
sounds: Array<Sound>;
private forms;
constructor(syllable: TonalSyllable, sounds: Sound[], metaplasm: TonalCombiningMetaplasm);
getForms(): TonalSyllable[];
isAy(): boolean;
private assignAllomorph;
}
/** A syllable and its sound changing forms. */
export declare class TonalSoundChangingMorpheme extends Morpheme {
syllable: TonalSyllable;
sounds: Array<Sound>;
constructor(syllable: TonalSyllable, sounds: Sound[]);
get lastSecondLetter(): string;
insertNasal(sound: Sound): TonalSyllable[];
infect(): TonalSyllable[];
/** Mutate initial consonants. */
mutateInitialConsonant(sound: Sound): TonalSyllable[];
mutateFinalConsonant(sound: Sound): TonalSyllable[];
private changeFinalTTt;
private changeFinalHHh;
private changeFinalPPp;
private changeWithInitialMnng;
private changeWithMedial;
private changeWithInitialBghjl;
/**
* Change a final with the beginning letter of the following syllable
* @param beginning Beginning letter of the following syllable
*/
changeFinalPtkppttkk(beginning: Sound): TonalSyllable[] | undefined;
changeFinalN(initial: Sound): Array<TonalSyllable>;
private voicedFinal;
}
export declare class TonalCombiningMorphemeMaker extends MorphemeMaker {
private metaplasm;
constructor(metaplasm: TonalCombiningMetaplasm);
protected createArray(): TonalCombiningMorpheme[];
protected createMorpheme(matched: MatchedPattern): TonalCombiningMorpheme;
private postprocess;
makeMorphemes(graphemes: Array<AlphabeticGrapheme>): TonalCombiningMorpheme[];
}
export declare class TonalSoundChangingMorphemeMaker extends MorphemeMaker {
constructor();
protected createArray(): TonalSoundChangingMorpheme[];
protected createMorpheme(match: MatchedPattern): TonalSoundChangingMorpheme;
private postprocess;
makeMorphemes(graphemes: Array<AlphabeticGrapheme>): TonalSoundChangingMorpheme[];
}