taipa
Version:
Taiwanese morphological parsing library
145 lines (144 loc) • 8.36 kB
TypeScript
import { Allomorph, TonalLetterTags } from '../tonal/tonalres';
import { TonalCombiningMetaplasm, TonalInflectionMetaplasm, TonalInfectionMetaplasm, TonalUninsertionMetaplasm, TonalInsertionMetaplasm, TonalMutationMetaplasm, TonalPhrasalInsertionMetaplasm, TonalPhrasalUninsertionMetaplasm, TonalUnmutationMetaplasm, TonalUninfectionMetaplasm, TonalPhrasalUninfectionMetaplasm, TonalPhrasalInfectionMetaplasm, TonalPhrasalMutationMetaplasm, TonalPhrasalUnmutationMetaplasm, TonalPhrasalInflectionVppMetaplasm } from '../metaplasm';
import { TonalSoundUnchangingMorpheme } from '../unchange/morpheme';
import { TonalSyllable, TonalPhrase } from '../unchange/unit';
import { Sound } from '../unit';
import { TonalWord } from '../unchange/unit';
import { TonalCombiningMorpheme, TonalSoundChangingMorpheme } from './morpheme';
import { TonalPhrasalInflectionMetaplasm } from '../metaplasm';
import { TonalInflectionLexeme, TonalInsertionLexeme, TonalUninsertionLexeme, TonalUninfectionLexeme, TonalInfectionLexeme, TonalMutationLexeme, TonalUnmutationLexeme } from './lexeme';
/** Returns the combining forms of a syllable. */
export declare class TonalCombiningForms extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Changes to 3rd tone. */
export declare class ThirdCombiningForm extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Changes 4th tone to 1st tone. */
export declare class FourthToFirstCombining extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Changes 8th tone to 2nd tone. */
export declare class EighthToSecondCombining extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the combining form of enclitic e. */
export declare class AdnominalECombining extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the combining form of a phrasal verb particle. */
export declare class PhrasalVerbParticleCombining extends TonalCombiningMetaplasm {
private tone;
constructor(tone: TonalLetterTags);
private toThird;
private toFirst;
private toSeventh;
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the combining form of enclitic le. */
export declare class ConjunctiveLeCombining extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the combining form of possesive case marker ex. */
export declare class PossesiveExCombining extends TonalCombiningMetaplasm {
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Changes 4th tone to either 1st or 7th tone. */
export declare class FirstSeventhCombining extends TonalCombiningMetaplasm {
private tone;
constructor(tone: TonalLetterTags);
apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Inflects an inflectional suffix. */
export declare class TonalDesinenceInflection extends TonalInflectionMetaplasm {
apply(morphemes: Array<TonalCombiningMorpheme>): TonalWord[];
}
/** Inflects a transfix. */
export declare class TransfixInflection extends TonalInflectionMetaplasm {
apply(morphemes: Array<TonalCombiningMorpheme>): TonalWord[];
}
/** Inserts an initial m, n, or ng to syllable ay. */
export declare class Epenthesis extends TonalInsertionMetaplasm {
apply(morphemes: Array<TonalSoundChangingMorpheme>): TonalWord[];
}
/** Uninsert an initial m, n, or ng from syllable ~ay */
export declare class Uninsertion extends TonalUninsertionMetaplasm {
apply(morphemes: Array<TonalSoundUnchangingMorpheme>): TonalWord[];
}
/** Infect the following syllable with nasalization. */
export declare class Infection extends TonalInfectionMetaplasm {
apply(morphemes: Array<TonalSoundChangingMorpheme>): TonalWord[];
}
/** Uninfect the following syllable which is infected by a nasalization. */
export declare class Uninfection extends TonalUninfectionMetaplasm {
apply(morphemes: Array<TonalSoundUnchangingMorpheme>): TonalWord[];
}
/** Mutate the initial of the following syllable with the initial of the preceding syllable. */
export declare class ConsonantMutation extends TonalMutationMetaplasm {
apply(morphemes: Array<TonalSoundChangingMorpheme>): TonalWord[];
}
/** Unmutate the initial of the following syllable with the initial of the preceding syllable. */
export declare class ConsonantUnmutation extends TonalUnmutationMetaplasm {
apply(morphemes: Array<TonalSoundUnchangingMorpheme>): TonalWord[];
}
/** Returns the proceeding forms of a phrasal verb of length 2. */
export declare class ConjugateToProceeding extends TonalPhrasalInflectionMetaplasm {
apply(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the proceeding forms of a phrasal verb of length 3. */
export declare class ConjugateVppToProceeding extends TonalPhrasalInflectionVppMetaplasm {
apply(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the transitive forms of a phrasal verb of length 3. */
export declare class ConjugateVppToTransitive extends TonalPhrasalInflectionVppMetaplasm {
apply(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the participle forms of a phrasal verb of length 2. */
export declare class ConjugateToParticiple extends TonalPhrasalInflectionMetaplasm {
apply(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the participle forms of a phrasal verb of length 3. */
export declare class ConjugateVppToParticiple extends TonalPhrasalInflectionVppMetaplasm {
apply(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the adnominal forms of a possesive or e-adjective. */
export declare class Adnominal extends TonalPhrasalInflectionMetaplasm {
apply(noun: TonalInflectionLexeme, particle: TonalInflectionLexeme): TonalPhrase[];
}
/** Returns the conjunctive form of le form. */
export declare class Conjunctive extends TonalPhrasalInflectionMetaplasm {
apply(verb: TonalInflectionLexeme, le: TonalInflectionLexeme): TonalPhrase[];
}
/** Insert an initial to the enclitic. */
export declare class InsertionToEnclitic extends TonalPhrasalInsertionMetaplasm {
apply(preceding: TonalInsertionLexeme, following: TonalInsertionLexeme): TonalPhrase[];
}
/** Uninsert an initial from the enclitic. */
export declare class UninsertionFromEnclitic extends TonalPhrasalUninsertionMetaplasm {
apply(preceding: TonalUninsertionLexeme, following: TonalUninsertionLexeme): TonalPhrase[];
}
/** Infect the following word with a nasalization. */
export declare class InfectionExternal extends TonalPhrasalInfectionMetaplasm {
apply(preceding: TonalInfectionLexeme, following: TonalInfectionLexeme): TonalPhrase[];
}
/** Uninfect the following word which is infected by a nasalization. */
export declare class UninfectionExternal extends TonalPhrasalUninfectionMetaplasm {
apply(preceding: TonalUninfectionLexeme, following: TonalUninfectionLexeme): TonalPhrase[];
}
/** Consonant mutation of the final of the preceding word. */
export declare class FinalConsonantMutationExternal extends TonalPhrasalMutationMetaplasm {
apply(preceding: TonalMutationLexeme, following: TonalMutationLexeme): TonalPhrase[];
}
/** Consonant unmutation of the final of the preceding word. */
export declare class FinalConsonantUnmutationExternal extends TonalPhrasalUnmutationMetaplasm {
apply(preceding: TonalUnmutationLexeme, following: TonalUnmutationLexeme): TonalPhrase[];
}
/** Consonant mutation of the final of the preceding syllable. */
export declare class FinalConsonantMutationInternal extends TonalMutationMetaplasm {
apply(morphemes: Array<TonalSoundChangingMorpheme>): TonalWord[];
}
/** Consonant unmutation of the final of the preceding syllable. */
export declare class FinalConsonantUnmutationInternal extends TonalUnmutationMetaplasm {
apply(morphemes: Array<TonalSoundUnchangingMorpheme>): TonalWord[];
}