Akrantiain is a domain-specific language to describe phonological rules of natural or constructed languages. Although it is designed to be used to generate a pronunciation from a spelling, it can also be used for general purpose of string transformation.
Akrantiain is originally introduced in this repository. See here for further information about this language.
This package contains a TypeScript implementation of Akrantiain. Note that it is not completely compatible to the original one; especially it may run differently when a rule contains an empty string. It also extends the syntax and semantics of the language, whose documentation is now in preparation.
This package also ships a mode definition file for CodeMirror, which is in code-mirror
directory.
Install via npm.
npm i akrantiain
Call Akrantiain.load
with a source string to create an Akrantiain
object, and then call convert
with an input string.
const {Akrantiain} = require("akrantiain");
let akrantiain = Akrantiain.load(`"a" -> /X/; "b" -> /Y/; "c" -> /Z/;`);
let output = akrantiain.convert("abc");
console.log(output); // outputs “XYZ”