Random language generation tools

last updated 9 May 2010

This page describes a set of scripts for generating various aspects of a conlang.

Sorry for the sparsity of the documentation here. Raise comments of general interest on CONLANG, or write me (Alex Fink) at 000024 gmail.com with an at sign in between.

morphology

morphology.pl, by Alex Fink, generates systems of morphological contrasts: case systems, TAM systems, and all that. The included DOT data files in the directory noun/ describe a number of common systems of contrasts for nouns (verbs and perhaps other classes are coming, eventually). Each contrast is a single hypothetical morphological slot; it is output as a list of values grouped into several lines, where each line is a single form and the elements of that line are its functions. For example, a case contrast starting

intransitive_subject agent experiencer [...]
focus patient [...]
[possibly more lines here]
describes a nominative-accusative case system.

Invoking morphology.pl with a directory argument as in

perl morphology.pl noun
generates a series of contrasts choosing among all categories in that directory. Invoking it with a list of filenames,
perl morphology.pl noun/case.dot noun/number.dot
generates a single contrast fusionally expressing all the named categories.

boris

To steal Jim Henry's description: boris.pl, originally by John Fisher and much modified by [Jim Henry], generates random words given a phonology input file, or random sentences given a grammar input file; but it can also generate format files for itself; see metaphonology.boris and testmeta.sh for examples.

gleb

gleb.pl (current version 0.2.1), by Alex Fink, generates phonologies and random forms following them. You can try it online. The current version handles a limited amount of allophony; it doesn't yet know about syllables or tone or sundry other things. Refer to the command-line usage for more.

boris and gleb can't talk to each other right now.


Up