@palasimi/ipa-cluster
Version:
Cluster words with similar IPA transcriptions together
45 lines • 1.14 kB
TypeScript
/**
* Represents a sound value.
*
* - An empty array represents a null sound.
* - An array with a single segment represents the sound of that segment.
* - An array with multiple elements means "any of these sounds."
*/
export type Sound = string[];
/**
* Represents an unconstrained rule.
*/
export type Rule = {
left: Sound[];
right: Sound[];
};
/**
* Represents a language constraint on a rule.
* `left` applies to the left-hand side of a rule,
* while `right` applies to the right-hand side.
* Their values are language codes or "_" (means any language).
*/
export type Constraint = {
left: string;
right: string;
};
/**
* Represents a ruleset with a language constraint.
* The constraint applies to all rules in the set.
*/
export type Ruleset = {
constraint: Constraint;
rules: Rule[];
};
/**
* Create an unconstrained ruleset.
*/
export declare function createUnconstrainedRuleset(rules: Rule[]): Ruleset;
/**
* Intermediate representation that the parser produces.
* A program is a sequence of rulesets.
*/
export type IR = {
rulesets: Ruleset[];
};
//# sourceMappingURL=ir.d.ts.map