Word Generator
Classes
Classes are defined on a single line by writing class-name = foo, bar, ...
, where class-name
consists of exactly one character, and foo
, bar
, ...
are comma-separated
sequences of arbitrary characters.
Examples:
C = t, k s = sn, st, sp 7 = asdf, 42
Phonotactics
The syntax for phonotactics consists of the following elements:
- Parentheses enclose optional elements, e.g.
(X)
means ‘eitherX
or nothing’. Note thatX
can be arbitrarily complex, e.g.(X(Y))
means ‘eitherX
orXY
or nothing’. - Vertical bars separate alternates; note that they are only supported within brackets: e.g.
(X|Y)
means ‘eitherX
orY
or nothing’ (the astute may notice that this is entirely equivalent to writing[X|Y|]
; see below). - If you want to preclude the ‘or nothing’ case, use square brackets instead of parentheses, e.g.
[X|Y]
means ‘eitherX
orY
’. While square brackets can also be used without the vertical bar, they are simply ignored in that case, so there isn’t really much of a point to it: e.g.[X]
is equivalent to justX
. - Any other non-whitespace character (except
=
) can be defined as a class name (recall that class names are always single characters); for some classC
defined asC = a, b, c
, using its class nameC
in the phonotactics section is equivalent to writing[a|b|c]
, e.g.tC
can generateta
,tb
, andtc
. - Lastly, any character that isn’t a class name or one of
()[]|
is treated literally, e.g. ift
is not defined as a class, then it will insert a literalt
. Naturally, you can use literal characters in conjunction with the features listed above, e.g.s[n|t|p]
will generatesn
,st
, andsp
(assuming none of these characters are class names).
Generator
Press ‘Generate’ to generate all possible words, pressing ‘Download’ afterwards downloads the word, and pressing ‘Clear’ clears the output (but not the classes or phonotactics). The approximate number of words that will be generated from your input is shown in the bottom left (this number is usually exact, but there are edge cases where the computation fails). Note that irrespective of the count shown, this generator will always manage to compute all possible words.
Possible Words ≈ 1