/AkrantiainTypescript

TypeScript implementation of Akrantiain

Primary LanguageTypeScriptMIT LicenseMIT

Akrantiain

Overview

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.

Installation

Install via npm.

npm i akrantiain

Usage

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”

Documentations