<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuphen%2FYAS-AI%2Fdoc</id>
	<title>Module:Auphen/YAS-AI/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuphen%2FYAS-AI%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Auphen/YAS-AI/doc&amp;action=history"/>
	<updated>2026-08-28T16:49:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Auphen/YAS-AI/doc&amp;diff=13116&amp;oldid=prev</id>
		<title>Thiorosan: Create the documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Auphen/YAS-AI/doc&amp;diff=13116&amp;oldid=prev"/>
		<updated>2026-08-27T12:19:40Z</updated>

		<summary type="html">&lt;p&gt;Create the documentation subpage&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is the documentation for [[Module:Auphen/YAS-AI]], the sound data for [[Airananwe language|Airananwe]] (registry code &amp;lt;code&amp;gt;YAS-AI&amp;lt;/code&amp;gt;) on the Yezur wiki. It holds no code of its own: [[Module:Auphen/frame]] loads it whenever a template names the code and hands its tables to the engine in [[Module:Auphen]]. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{auphen|word|YAS-AI}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; estimates a pronunciation; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{auphen|word|YAS-AI|plural}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; runs the named ruleset &amp;lt;code&amp;gt;plural&amp;lt;/code&amp;gt; over the spelling and returns a spelling. [[Module:Airananwe]] loads the same page directly for the tables behind [[Template:YAS-AI-decl]] and [[Template:YAS-AI-conj]]. Rule syntax and engine behaviour belong to [[Module:Auphen]] and [[Module talk:Auphen]] and are not repeated here.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Contents&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ipacats&amp;lt;/code&amp;gt; || Category sets over sounds, used for the pronunciation estimate. &amp;lt;code&amp;gt;[B]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[P]&amp;lt;/code&amp;gt; are a positional pair, the voiced obstruents against their voiceless counterparts; &amp;lt;code&amp;gt;[N]&amp;lt;/code&amp;gt; holds the nasals; &amp;lt;code&amp;gt;[S]&amp;lt;/code&amp;gt; holds the vowels that block the last rule of the stress pass.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cats&amp;lt;/code&amp;gt; || Category sets over spelling, used by the named rulesets. &amp;lt;code&amp;gt;[C]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[V]&amp;lt;/code&amp;gt; are the consonant and vowel graphs, single letters and digraphs together; &amp;lt;code&amp;gt;[A]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[I]&amp;lt;/code&amp;gt; sort the consonants by the vowel they take in the passive stem.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ipa_rules&amp;lt;/code&amp;gt; || The map from spelling to sound, applied before the pronunciation ruleset runs and not at all when a named ruleset is run.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pronounce&amp;lt;/code&amp;gt; || The pronunciation ruleset, in twelve named passes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sets&amp;lt;/code&amp;gt; || 130 named rulesets, all of them stem or word formation in the spelling.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Spelling to sound ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ipa_rules&amp;lt;/code&amp;gt; is a map, not an ordered ruleset: the engine reads the word left to right and takes the longest key that matches, so the digraphs listed there are read before their letters. Six digraphs are absent — &amp;#039;&amp;#039;ch&amp;#039;&amp;#039;, &amp;#039;&amp;#039;gh&amp;#039;&amp;#039;, &amp;#039;&amp;#039;gn&amp;#039;&amp;#039;, &amp;#039;&amp;#039;qu&amp;#039;&amp;#039;, &amp;#039;&amp;#039;th&amp;#039;&amp;#039; and &amp;#039;&amp;#039;vh&amp;#039;&amp;#039;. They arrive at &amp;lt;code&amp;gt;pronounce&amp;lt;/code&amp;gt; as their separate letters and are settled there against their surroundings, which is where their conditional values live.&lt;br /&gt;
&lt;br /&gt;
Several letters map to a working symbol rather than to a sound: &amp;#039;&amp;#039;c&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;x&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;q&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;i&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;á&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;, &amp;#039;&amp;#039;j&amp;#039;&amp;#039; to &amp;lt;code&amp;gt;î&amp;lt;/code&amp;gt;. Each has more than one value in the language, and the passes below decide which. The apostrophe and the hyphen are carried through as symbols in the same way, the hyphen so that rules can see the join in a bound adposition such as &amp;#039;&amp;#039;-erge&amp;#039;&amp;#039; or in the feminine &amp;#039;&amp;#039;-thai&amp;#039;&amp;#039;. None of these symbols survives the last pass.&lt;br /&gt;
&lt;br /&gt;
== Pronunciation ==&lt;br /&gt;
&lt;br /&gt;
Each pass is opened by a line naming it — &amp;lt;code&amp;gt;vowels/vowels&amp;lt;/code&amp;gt; and the like — which the engine applies as an ordinary rule and which leaves the word unchanged.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pass !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;preprocess&amp;lt;/code&amp;gt; || Resolves the held-back digraphs (&amp;#039;&amp;#039;th&amp;#039;&amp;#039; [tv], &amp;#039;&amp;#039;vh&amp;#039;&amp;#039; [fʷ], &amp;#039;&amp;#039;gn&amp;#039;&amp;#039; [ɲ], &amp;#039;&amp;#039;ch&amp;#039;&amp;#039; [x] after a vowel at the end of a word and the alveolo-palatal elsewhere), settles &amp;#039;&amp;#039;c&amp;#039;&amp;#039; as [k] before a back vowel, a consonant or a word edge and as [z] at the start of a word, takes &amp;#039;&amp;#039;x&amp;#039;&amp;#039; to [z] in that same initial position, turns &amp;#039;&amp;#039;y&amp;#039;&amp;#039; and &amp;#039;&amp;#039;u&amp;#039;&amp;#039; into glides beside a vowel, and marks an unsounded final &amp;#039;&amp;#039;e&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;letterq&amp;lt;/code&amp;gt; || The values of &amp;#039;&amp;#039;q&amp;#039;&amp;#039;: &amp;#039;&amp;#039;qu&amp;#039;&amp;#039; is [kʰ] before &amp;#039;&amp;#039;i&amp;#039;&amp;#039;, [kju] before a consonant and [kw] before a vowel; bare &amp;#039;&amp;#039;q&amp;#039;&amp;#039; is the glottalised [kˀ] at a word edge or before a vowel, and [k] elsewhere.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;diphthongs&amp;lt;/code&amp;gt; || Gathers the vowel sequences left by the mapping into single nuclei.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;theletterx&amp;lt;/code&amp;gt; || The values of &amp;#039;&amp;#039;x&amp;#039;&amp;#039; — [kʃ], [ks] and [z] — by position.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;inversion&amp;lt;/code&amp;gt; || Turns a final &amp;#039;&amp;#039;-re&amp;#039;&amp;#039;, &amp;#039;&amp;#039;-ne&amp;#039;&amp;#039; or &amp;#039;&amp;#039;-le&amp;#039;&amp;#039; after a consonant around, giving [əɹ], [ɪ̃n] and [əl].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vowels&amp;lt;/code&amp;gt; || Vowel quality by position and by what follows, and the reduction to [ə] of an unsounded &amp;#039;&amp;#039;e&amp;#039;&amp;#039; that survives.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;consonants&amp;lt;/code&amp;gt; || Consonant alternations: voiced obstruents devoiced before another obstruent and at the end of a word, &amp;#039;&amp;#039;gh&amp;#039;&amp;#039; and &amp;#039;&amp;#039;h&amp;#039;&amp;#039; to [x] in their environments, &amp;#039;&amp;#039;f&amp;#039;&amp;#039; to [v] after &amp;#039;&amp;#039;a&amp;#039;&amp;#039; or &amp;#039;&amp;#039;á&amp;#039;&amp;#039; except finally.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;finalizing&amp;lt;/code&amp;gt; || Gives the remaining working symbols their sounds — &amp;#039;&amp;#039;j&amp;#039;&amp;#039; word-finally [dʒ], &amp;#039;&amp;#039;é&amp;#039;&amp;#039; [eː], &amp;#039;&amp;#039;á&amp;#039;&amp;#039; [aː] — and drops what is not sounded, the hyphen among it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vocalizations&amp;lt;/code&amp;gt; || Palatalisation and labialisation beside a glide, and the nasalisation of a vowel before a final &amp;#039;&amp;#039;n&amp;#039;&amp;#039; or &amp;#039;&amp;#039;r&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prestress&amp;lt;/code&amp;gt; || Encodes long vowels, nasal vowels and the two affricates as single symbols for the pass that follows.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;stress&amp;lt;/code&amp;gt; || Places the stress mark.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;poststress&amp;lt;/code&amp;gt; || Restores those symbols, and shifts every [ʃ] to [ɕ] and every [ʒ] to [ʑ], the alveolo-palatal series written &amp;#039;&amp;#039;ch&amp;#039;&amp;#039; and &amp;#039;&amp;#039;j&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Named rulesets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ruleset !! Derives&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;special&amp;lt;/code&amp;gt; || The special stem. The final &amp;#039;&amp;#039;é&amp;#039;&amp;#039; is dropped, the stem vowel is replaced from a fixed table (&amp;#039;&amp;#039;a&amp;#039;&amp;#039; to &amp;#039;&amp;#039;e&amp;#039;&amp;#039;, &amp;#039;&amp;#039;é&amp;#039;&amp;#039; to &amp;#039;&amp;#039;ie&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ei&amp;#039;&amp;#039; to &amp;#039;&amp;#039;é&amp;#039;&amp;#039;, &amp;#039;&amp;#039;o&amp;#039;&amp;#039; to &amp;#039;&amp;#039;u&amp;#039;&amp;#039;), and the final consonant is softened (&amp;#039;&amp;#039;t&amp;#039;&amp;#039; to &amp;#039;&amp;#039;d&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ch&amp;#039;&amp;#039; to &amp;#039;&amp;#039;j&amp;#039;&amp;#039;, &amp;#039;&amp;#039;p&amp;#039;&amp;#039; to &amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;s&amp;#039;&amp;#039; to &amp;#039;&amp;#039;ç&amp;#039;&amp;#039;, &amp;#039;&amp;#039;l&amp;#039;&amp;#039; to &amp;#039;&amp;#039;lh&amp;#039;&amp;#039;). &amp;#039;&amp;#039;naquité&amp;#039;&amp;#039; gives &amp;#039;&amp;#039;naquid&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;passive&amp;lt;/code&amp;gt; || The passive stem. The final &amp;#039;&amp;#039;é&amp;#039;&amp;#039; gives way to &amp;#039;&amp;#039;-av&amp;#039;&amp;#039;, &amp;#039;&amp;#039;-ev&amp;#039;&amp;#039; or &amp;#039;&amp;#039;-iv&amp;#039;&amp;#039;, the vowel chosen by the letter or digraph before it. &amp;#039;&amp;#039;naquité&amp;#039;&amp;#039; gives &amp;#039;&amp;#039;naquitiv&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plural&amp;lt;/code&amp;gt; || The plural of a noun, formed from the shape of the singular rather than by one ending: &amp;#039;&amp;#039;rayes&amp;#039;&amp;#039; to &amp;#039;&amp;#039;rayers&amp;#039;&amp;#039;, &amp;#039;&amp;#039;arch&amp;#039;&amp;#039; to &amp;#039;&amp;#039;archre&amp;#039;&amp;#039;, &amp;#039;&amp;#039;nájy&amp;#039;&amp;#039; to &amp;#039;&amp;#039;nájier&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;genitive&amp;lt;/code&amp;gt; || The genitive, the suffixed postposition &amp;#039;&amp;#039;-enne&amp;#039;&amp;#039; and &amp;#039;&amp;#039;-nne&amp;#039;&amp;#039; after a vowel, which attaches to singular and plural alike. A final &amp;#039;&amp;#039;e&amp;#039;&amp;#039; is dropped before the ending unless two consonants or &amp;#039;&amp;#039;u&amp;#039;&amp;#039; stand before it, and a final vowel and &amp;#039;&amp;#039;r&amp;#039;&amp;#039; are inverted: &amp;#039;&amp;#039;aer&amp;#039;&amp;#039; gives &amp;#039;&amp;#039;arenne&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;past-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;present-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;future-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039; || The three plain tenses, built on the citation form.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nearpast-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;nearpresent-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;nearfuture-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039; || The same three tenses in their near grade, built on the special stem. The near future&amp;#039;s endings open with &amp;#039;&amp;#039;-eng-&amp;#039;&amp;#039;, &amp;#039;&amp;#039;-ng-&amp;#039;&amp;#039; after a vowel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;passive-past-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;passive-present-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;passive-future-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;P&amp;#039;&amp;#039; || The passive of the three plain tenses, built on the passive stem and carrying the endings of the active.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;P&amp;#039;&amp;#039; is one of &amp;lt;code&amp;gt;1sg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2sg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3sg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3sg-f&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1p&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2p&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;3p&amp;lt;/code&amp;gt;, and every one of them has a negative twin whose name ends in a further &amp;lt;code&amp;gt;-neg&amp;lt;/code&amp;gt;. That is 126 finite rulesets over nine tense-and-voice combinations, and 130 in the table altogether.&lt;br /&gt;
&lt;br /&gt;
Every finite ruleset is self-contained: the near tenses repeat the whole of &amp;lt;code&amp;gt;special&amp;lt;/code&amp;gt;, and the passives the whole of &amp;lt;code&amp;gt;passive&amp;lt;/code&amp;gt;, ahead of their endings, so that each can be run on the citation form alone. The stem rules are therefore written out again down the file rather than shared, and a change to the special or passive stem has to be made in every ruleset that builds on it.&lt;br /&gt;
&lt;br /&gt;
Two syncretisms are marked in the source as intended rather than as copying errors: the negative first person singular of the future is identical to the negative third person singular, in the active and the passive alike, though the affirmatives differ; and the near past does not distinguish first person plural from second, affirmative or negative, where every other tense does. These four are the only rulesets that repeat another word for word.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cats&amp;lt;/code&amp;gt; declares &amp;lt;code&amp;gt;[R]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[S]&amp;lt;/code&amp;gt; as a positional pair holding the special stem&amp;#039;s vowel change, but no ruleset in &amp;lt;code&amp;gt;sets&amp;lt;/code&amp;gt; invokes either: the same seventeen correspondences are written out a line at a time in &amp;lt;code&amp;gt;special&amp;lt;/code&amp;gt; and in each of the near tenses. The &amp;lt;code&amp;gt;[S]&amp;lt;/code&amp;gt; that the stress pass uses is the separate sound-scope category of that name in &amp;lt;code&amp;gt;ipacats&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The feminine marker &amp;#039;&amp;#039;thai&amp;#039;&amp;#039; is attached with a hyphen in the past and present series and with a space in the future and the near future; the engine treats a space as a word boundary and stresses each part on its own, so the two are not counted alike. An unknown ruleset name, or a code with no data page, files the calling page under [[:Category:Auphen errors]].&lt;/div&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
</feed>