<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE gomorph SYSTEM "../format/Gomorphv2.dtd" [

<!ENTITY Boolean "^(true|false)$">
<!ENTITY True "true">
<!ENTITY False "false">

<!-- Common functions used when deriving the ROOT from a lemma: -->
<!ENTITY RemoveFinal-s 
	"<rgx pattern='s$' replace='' must-match='true' description='Strips final -s.'/>">
<!ENTITY RemoveFinal-os 
	"<rgx pattern='os$' replace='' must-match='true' description='Strips final -os.'/>">
<!ENTITY RemoveFinal-an 
	"<rgx pattern='an$' replace='' must-match='true' description='Strips final -an.'/>">
<!ENTITY RemoveFinal-a
	"<rgx pattern='a$' replace='' must-match='true' description='Strips final -a.'/>">
<!ENTITY RemoveFinal-o
	"<rgx pattern='o$' replace='' must-match='true' description='Strips final -o.'/>">
<!ENTITY RemoveFinal-us
	"<rgx pattern='us$' replace='' must-match='true' description='Strips final -us.'/>">
<!ENTITY RemoveFinal-u
	"<rgx pattern='u$' replace='' must-match='true' description='Strips final -u.'/>">
<!ENTITY RemoveFinal-jus
	"<rgx pattern='jus$' replace='' must-match='true' description='Strips final -jus.'/>">
<!ENTITY RemoveFinal-jis
	"<rgx pattern='jis$' replace='' must-match='true' description='Strips final -jis.'/>">
<!ENTITY RemoveFinal-eis
	"<rgx pattern='eis$' replace='' must-match='true' description='Strips final -eis.'/>">
<!ENTITY RemoveFinal-i
	"<rgx pattern='i$' replace='' must-match='true' description='Strips final -i.'/>">
<!ENTITY RemoveFinal-ja
	"<rgx pattern='ja$' replace='' must-match='true' description='Strips final -ja.'/>">
<!ENTITY RemoveFinal-jan
	"<rgx pattern='jan$' replace='' must-match='true' description='Strips final -ja.'/>">
<!ENTITY RemoveFinal-jos
	"<rgx pattern='jos$' replace='' must-match='true' description='Strips final -jos.'/>">
<!ENTITY RemoveFinal-ans
	"<rgx pattern='ans$' replace='' must-match='true' description='Strips final -ans.'/>">
<!ENTITY RemoveFinal-ona
	"<rgx pattern='ona$' replace='' must-match='true' description='Strips final -ona.'/>">
<!ENTITY RemoveFinal-ar
	"<rgx pattern='ar$' replace='' must-match='true' description='Strips final -ar.'/>">
<!ENTITY RemoveFinal-rjus
	"<rgx pattern='rjus$' replace='' must-match='true' description='Strips final -rjus.'/>">
<!ENTITY NormalizeFinal-u
	"<rgx pattern='([ai])u$' replace='$1w' description='Normalizes final -au and -iu to stems -aw- and -iw-.'/>">
<!ENTITY CancelFinalDevoicing
	"<rgx pattern='({V})f$' replace='$1b'/>
	<rgx pattern='({V})þ$' replace='$1d'/>
	<rgx pattern='({V})s$' replace='$1z'/>">

<!-- Common phonological rules: -->
<!ENTITY FinalDevoicing
	"<rgx pattern='({V})b(s?)$' replace='$1f$2' description='Final devoicing of /b/: Streitberg 1920 [§111].'/>
	<rgx pattern='({V})d(s?)$' replace='$1þ$2' description='Final devoicing of /d/: Streitberg 1920 [§112].'/>
	<rgx pattern='({V})z$' replace='$1s' description='Final devoicing of /z/: Streitberg 1920 [§114].'/>">
<!ENTITY j-Alternation
	"<rgx pattern='j$' replace='i' description='Alternation of j and i: Braune/Ebbinghaus 1981 [§45]'/>">
<!ENTITY w-Alternation
	"<rgx pattern='({C}[ai])w(j|s?$)' replace='$1u$2' description='Alternation of w and u: Streitberg 1920 [§89]; Braune/Ebbinghaus 1981 [§42].'/>">
<!ENTITY o-Alternation
	"<rgx pattern='o(?=e?i)' replace='au' description='Alternation of o and au: Streitberg 1920 [§75]; Braune/Ebbinghaus 1981 [§26].'/>">
<!ENTITY nn-Reduction
	"<rgx pattern='nn(?=[stþ]$)' replace='n' description='Double n is reduced to n before consonants, e.g. manna/mans [BE §49]'/>">
	
<!ENTITY ja-Stem-Rules
	"<rgx pattern='js$' replace='jis'/>">
<!ENTITY ia-Stem-Rules
	"<rgx pattern='ji?s$' replace='eis'/>">

<!ENTITY Reconstruction
	"<rgx pattern='^(.*)$' replace='[$1]'/>">

<!-- Descriptions of recurring parameters and functions: -->
<!ENTITY Description_Auslautverhärtung
	"This flag indicates that a voiceless fricative in final position or before -s is the result of final devoicing ('Auslautverhärtung'), as in 'hlaifs/hlaiBis'. Set this flag to false when the paradigm shows no alternation of of f/b, þ/d or s/z, either because the root historically ends in f|þ|s (as in 'un-qeþ-s' &lt; 'qiþ-an') or because of dissimilation (as in 'agis/agiSis' compared to 'hatis/hatiZis').">
<!ENTITY Description_CancelFinalDevoicing
	"Cancels the effect of Auslautverhärtung in order to reconstruct the root of nouns like 'hlaifs' or 'witoþ'.">
<!ENTITY Description_z-Assimilation
	"True when the expected case suffix -s is missing in the Nominative Singular, as in 'wair' or 'ans/ansis' (Ma). See Streitberg 1920: 'Assimilation von -z' [§115].">
<!ENTITY Description_Brechung-ai
	"Brechung [St §48; BE §20]">
<!ENTITY Description_Brechung-au
	"Brechung [St §51; BE §24]">
<!ENTITY Description_Reconstruction
	"Marks a string as uncertain or reconstructed">
	
<!-- Do not mark long vowels: -->
<!ENTITY ShortA "a">
<!ENTITY ShortU "u">
<!ENTITY LongA "a">
<!ENTITY LongU "u">
<!ENTITY LongE "e">
<!ENTITY LongO "o">

<!-- Alternatively mark long vowels:
	<!ENTITY ShortA "&#x103;">
	<!ENTITY ShortU "&#x16D;">
	<!ENTITY LongA "&#x101;">
	<!ENTITY LongU "&#x16B;">
	<!ENTITY LongE "&#x113;">
	<!ENTITY LongO "&#x14D;">
-->
]>
<gomorph version="1.0">
	<documentation xml:lang="en">
		<language ISO639="got" type="extinct">
			<name>Gothic</name>
			<classification>Indo-European &gt; [East-]Germanic</classification>
			<description>This formal description of Gothic inflectional morphology is the input specification for a program that generates valid Gothic paradigms. As such, it's a strictly technical document, not necessarily an accurate (diachronic or synchronic) linguistic description. The primary goal is to build an application that generates accurate paradigms, not to present a model that claims linguistic validity. Obviously, the specification closely mirrors linguistic reality to some extent, for instance when dealing with phonological rules. Paragraph numbers in the documentation refer to Wilhelm Streitberg 1920: Gotisches Elementarbuch [abbreviation St] and Braune/Ebbinghaus 1981: Gotische Grammatik [abbreviation BE].</description>
		</language>
		<document>
			<filename>Gothic.xml</filename>
			<version>0.95</version>
			<status>Draft</status>
			<revision-history first-created="2002-09-08" last-modified="2026-01-27">
				<revision date="2003-07-15" version="0.81">Finished thorough revision of Noun.</revision>
				<revision date="2003-07-28" version="0.82">Finished thorough revision of Adjective.</revision>
				<revision date="2003-08-05" version="0.83">Finished thorough revision of strong and weak Verb.</revision>
				<revision date="2003-08-04" version="0.84">Added Verba präterito-präsentia.</revision>
				<revision date="2003-08-05" version="0.85">Added numerals.</revision>
				<revision date="2003-08-08" version="0.86">Added class Indeclinable.</revision>
				<revision date="2003-09-11" version="0.87">Added declension of "ikei" and "þuei" to class Pers.Pronoun.</revision>
				<revision date="2003-09-12" version="0.88">Added declension of "mannahun" and "&#x0195;ashun" to class Pronoun.</revision>
				<revision date="2003-09-15" version="0.89">Corrected typographic error in definition of class Mnd; removed lemma-filter on class Superlative.</revision>
				<revision date="2003-09-17" version="0.90">Added declension of "ain&#x0195;arjizuh", "&#x0195;aþaruh" and "ain&#x0195;aþaruh" to class Pronoun; minor correction in class "abl.V.6".</revision>
				<revision date="2003-10-24" version="0.91">Added missing forms to paradigms of "ain&#x0195;arjizuh", "sa&#x0195;azuh" and "þis&#x195;azuh".</revision>
				<revision date="2004-04-14" version="0.92">Corrected error in definition of pronoun "sah": "þans" &gt; "þanzuh".</revision>
				<revision date="2005-03-29" version="0.93">Corrected error in definition of defective verbs "ga-nah" and "bi-nah".</revision>
				<revision date="2006-01-27" version="0.94">Added accusative neuter form to paradigm of "sa&#x0195;azuh".</revision>
				<revision date="2026-01-27" version="0.95">Updated URLs and DTD reference; modernized XSLT style sheet; minor edits to description.<!-- Exactly twenty years after the last edit, unintentionally so – a weird coincidence. --></revision>
			</revision-history>
		</document>
		<credits>
			<author contact="tom.deherdt@skynet.be">Tom De Herdt</author>
			<link uri="https://www.wulfila.be">Project Wulfila</link>
			<copyright>Project Wulfila, University of Antwerp (2003).</copyright>
		</credits>
	</documentation>
	<morphology>
		<rgx-definition>
			<syntax name="Microsoft VBScript 5.5 Regular Expressions" definitionURI="https://www.regular-expressions.info/vbscript.html"/>
			<entities>
				<symbol name="HV" value="&#x195;" description="HWAIR-character (Unicode #x0195)."/>
				<symbol name="Char" value="[\wïþÞ{HV}]" description="Valid word character."/>
				<symbol name="C" value="[bdfghjklmnpqrstwxzþÞ{HV}]" description="Consonant."/>
				<symbol name="V" value="[aeuiïoāăēĕŏōŭū]" description="Vowel"/>
				<symbol name="C-BR" value="[rh{HV}]" description="Consonants causing ‘Vokalbrechung’ (Krause 1953, p. 77)."/>
				<symbol name="D" value="[dtþ]" description="Dental consonants d, t or þ."/>
				<symbol name="_C" value="(?={C}+$)" description="Positive lookahead for one or more consonants in Auslaut."/>
			</entities>
		</rgx-definition>
		<tagsets>
			<tagset name="Indeclinable">
				<tag name="FORM" description="Lemma"/>
			</tagset>
			<tagset name="Noun">
				<tag name="NOM-SING" description="Nominative Singular"/>
				<tag name="ACC-SING" description="Accusative Singular"/>
				<tag name="DAT-SING" description="Dative Singular"/>
				<tag name="GEN-SING" description="Genitive Singular"/>
				<tag name="VOC-SING" description="Vocative Singular"/>
				<tag name="NOM-PLUR" description="Nominative Plural"/>
				<tag name="ACC-PLUR" description="Accusative Plural"/>
				<tag name="DAT-PLUR" description="Dative Plural"/>
				<tag name="GEN-PLUR" description="Genitive Plural"/>
				<tag name="VOC-PLUR" description="Vocative Plural"/>
			</tagset>
			<tagset name="Adjective">
				<tag name="STRONG-MASC-NOM-SING" description="Strong Masculine Nominative Singular"/>
				<tag name="STRONG-MASC-ACC-SING" description="Strong Masculine Accusative Singular"/>
				<tag name="STRONG-MASC-DAT-SING" description="Strong Masculine Dative Singular"/>
				<tag name="STRONG-MASC-GEN-SING" description="Strong Masculine Genitive Singular"/>
				<tag name="STRONG-MASC-NOM-PLUR" description="Strong Masculine Nominative Plural"/>
				<tag name="STRONG-MASC-ACC-PLUR" description="Strong Masculine Accusative Plural"/>
				<tag name="STRONG-MASC-DAT-PLUR" description="Strong Masculine Dative Plural"/>
				<tag name="STRONG-MASC-GEN-PLUR" description="Strong Masculine Genitive Plural"/>
				<tag name="STRONG-FEM-NOM-SING" description="Strong Feminine Nominative Singular"/>
				<tag name="STRONG-FEM-ACC-SING" description="Strong Feminine Accusative Singular"/>
				<tag name="STRONG-FEM-DAT-SING" description="Strong Feminine Dative Singular"/>
				<tag name="STRONG-FEM-GEN-SING" description="Strong Feminine Genitive Singular"/>
				<tag name="STRONG-FEM-NOM-PLUR" description="Strong Feminine Nominative Plural"/>
				<tag name="STRONG-FEM-ACC-PLUR" description="Strong Feminine Accusative Plural"/>
				<tag name="STRONG-FEM-DAT-PLUR" description="Strong Feminine Dative Plural"/>
				<tag name="STRONG-FEM-GEN-PLUR" description="Strong Feminine Genitive Plural"/>
				<tag name="STRONG-NEUT-NOM-SING" description="Strong Neuter Nominative Singular"/>
				<tag name="STRONG-NEUT-ACC-SING" description="Strong Neuter Accusative Singular"/>
				<tag name="STRONG-NEUT-DAT-SING" description="Strong Neuter Dative Singular"/>
				<tag name="STRONG-NEUT-GEN-SING" description="Strong Neuter Genitive Singular"/>
				<tag name="STRONG-NEUT-NOM-PLUR" description="Strong Neuter Nominative Plural"/>
				<tag name="STRONG-NEUT-ACC-PLUR" description="Strong Neuter Accusative Plural"/>
				<tag name="STRONG-NEUT-DAT-PLUR" description="Strong Neuter Dative Plural"/>
				<tag name="STRONG-NEUT-GEN-PLUR" description="Strong Neuter Genitive Plural"/>
				<tag name="WEAK-MASC-NOM-SING" description="Weak Masculine Nominative Singular"/>
				<tag name="WEAK-MASC-ACC-SING" description="Weak Masculine Accusative Singular"/>
				<tag name="WEAK-MASC-DAT-SING" description="Weak Masculine Dative Singular"/>
				<tag name="WEAK-MASC-GEN-SING" description="Weak Masculine Genitive Singular"/>
				<tag name="WEAK-MASC-NOM-PLUR" description="Weak Masculine Nominative Plural"/>
				<tag name="WEAK-MASC-ACC-PLUR" description="Weak Masculine Accusative Plural"/>
				<tag name="WEAK-MASC-DAT-PLUR" description="Weak Masculine Dative Plural"/>
				<tag name="WEAK-MASC-GEN-PLUR" description="Weak Masculine Genitive Plural"/>
				<tag name="WEAK-FEM-NOM-SING" description="Weak Feminine Nominative Singular"/>
				<tag name="WEAK-FEM-ACC-SING" description="Weak Feminine Accusative Singular"/>
				<tag name="WEAK-FEM-DAT-SING" description="Weak Feminine Dative Singular"/>
				<tag name="WEAK-FEM-GEN-SING" description="Weak Feminine Genitive Singular"/>
				<tag name="WEAK-FEM-NOM-PLUR" description="Weak Feminine Nominative Plural"/>
				<tag name="WEAK-FEM-ACC-PLUR" description="Weak Feminine Accusative Plural"/>
				<tag name="WEAK-FEM-DAT-PLUR" description="Weak Feminine Dative Plural"/>
				<tag name="WEAK-FEM-GEN-PLUR" description="Weak Feminine Genitive Plural"/>
				<tag name="WEAK-NEUT-NOM-SING" description="Weak Neuter Nominative Singular"/>
				<tag name="WEAK-NEUT-ACC-SING" description="Weak Neuter Accusative Singular"/>
				<tag name="WEAK-NEUT-DAT-SING" description="Weak Neuter Dative Singular"/>
				<tag name="WEAK-NEUT-GEN-SING" description="Weak Neuter Genitive Singular"/>
				<tag name="WEAK-NEUT-NOM-PLUR" description="Weak Neuter Nominative Plural"/>
				<tag name="WEAK-NEUT-ACC-PLUR" description="Weak Neuter Accusative Plural"/>
				<tag name="WEAK-NEUT-DAT-PLUR" description="Weak Neuter Dative Plural"/>
				<tag name="WEAK-NEUT-GEN-PLUR" description="Weak Neuter Genitive Plural"/>
				<tag name="CMP" description="Comparative degree [Weak Masculine Nominative Singular --> redirect]"/>
				<tag name="SPR" description="Superlative degree [Strong Masculine Nominative Singular --> redirect]"/>
				<tag name="ADV" description="Adverb"/>
			</tagset>
			<tagset name="Pronoun1" description="Used by personal pronouns 1st and 2nd person (‘ungeschlechtiges Pronomen’)">
				<tag name="NOM-SING" description="Nominative Singular"/>
				<tag name="ACC-SING" description="Accusative Singular"/>
				<tag name="DAT-SING" description="Dative Singular"/>
				<tag name="GEN-SING" description="Genitive Singular"/>
				<tag name="NOM-DUAL" description="Nominative Dual"/>
				<tag name="ACC-DUAL" description="Accusative Dual"/>
				<tag name="DAT-DUAL" description="Dative Dual"/>
				<tag name="GEN-DUAL" description="Genitive Dual"/>
				<tag name="NOM-PLUR" description="Nominative Plural"/>
				<tag name="ACC-PLUR" description="Accusative Plural"/>
				<tag name="DAT-PLUR" description="Dative Plural"/>
				<tag name="GEN-PLUR" description="Genitive Plural"/>
			</tagset>
			<tagset name="Pronoun2" description="Used by all other pronouns (that are not declined like a strong Adjective)" >
				<tag name="MASC-NOM-SING" description="Masculine Nominative Singular"/>
				<tag name="MASC-ACC-SING" description="Masculine Accusative Singular"/>
				<tag name="MASC-DAT-SING" description="Masculine Dative Singular"/>
				<tag name="MASC-GEN-SING" description="Masculine Genitive Singular"/>
				<tag name="MASC-NOM-PLUR" description="Masculine Nominative Plural"/>
				<tag name="MASC-ACC-PLUR" description="Masculine Accusative Plural"/>
				<tag name="MASC-DAT-PLUR" description="Masculine Dative Plural"/>
				<tag name="MASC-GEN-PLUR" description="Masculine Genitive Plural"/>
				<tag name="FEM-NOM-SING" description="Feminine Nominative Singular"/>
				<tag name="FEM-ACC-SING" description="Feminine Accusative Singular"/>
				<tag name="FEM-DAT-SING" description="Feminine Dative Singular"/>
				<tag name="FEM-GEN-SING" description="Feminine Genitive Singular"/>
				<tag name="FEM-NOM-PLUR" description="Feminine Nominative Plural"/>
				<tag name="FEM-ACC-PLUR" description="Feminine Accusative Plural"/>
				<tag name="FEM-DAT-PLUR" description="Feminine Dative Plural"/>
				<tag name="FEM-GEN-PLUR" description="Feminine Genitive Plural"/>
				<tag name="NEUT-NOM-SING" description="Neuter Nominative Singular"/>
				<tag name="NEUT-ACC-SING" description="Neuter Accusative Singular"/>
				<tag name="NEUT-DAT-SING" description="Neuter Dative Singular"/>
				<tag name="NEUT-GEN-SING" description="Neuter Genitive Singular"/>
				<tag name="NEUT-INS-SING" description="Neuter Instrumentalis Singular"/>
				<tag name="NEUT-NOM-PLUR" description="Neuter Nominative Plural"/>
				<tag name="NEUT-ACC-PLUR" description="Neuter Accusative Plural"/>
				<tag name="NEUT-DAT-PLUR" description="Neuter Dative Plural"/>
				<tag name="NEUT-GEN-PLUR" description="Neuter Genitive Plural"/>
			</tagset>
			<tagset name="Numeral1" description="Used by numerals 2 and 3">
				<tag name="MASC-NOM" description="Masculine Nominative"/>
				<tag name="MASC-ACC" description="Masculine Accusative"/>
				<tag name="MASC-DAT" description="Masculine Dative"/>
				<tag name="MASC-GEN" description="Masculine Genitive"/>
				<tag name="FEM-NOM" description="Feminine Nominative"/>
				<tag name="FEM-ACC" description="Feminine Accusative"/>
				<tag name="FEM-DAT" description="Feminine Dative"/>
				<tag name="FEM-GEN" description="Feminine Genitive"/>
				<tag name="NEUT-NOM" description="Neuter Nominative"/>
				<tag name="NEUT-ACC" description="Neuter Accusative"/>
				<tag name="NEUT-DAT" description="Neuter Dative"/>
				<tag name="NEUT-GEN" description="Neuter Genitive"/>
			</tagset>
			<tagset name="Numeral2" description="Used by numerals 4 to 19">
				<tag name="INDECL" description="Not declined"/>
				<tag name="DAT" description="Dative"/>
				<tag name="GEN" description="Genitive"/>
			</tagset>
			<tagset name="Verb">
				<tag name="INF" description="Infinitive"/>
				<tag name="PART-PRES" description="Participium Presens"/>
				<tag name="PART-PERF" description="Participium Perfectum"/>
				<tag name="ACT-IND-PRES-SING-1" description="Active Indicative Present 1st Person Singular"/>
				<tag name="ACT-IND-PRES-SING-2" description="Active Indicative Present 2nd Person Singular"/>
				<tag name="ACT-IND-PRES-SING-3" description="Active Indicative Present 3rd Person Singular"/>
				<tag name="ACT-IND-PRES-DUAL-1" description="Active Indicative Present 1st Person Dual"/>
				<tag name="ACT-IND-PRES-DUAL-2" description="Active Indicative Present 2nd Person Dual"/>
				<tag name="ACT-IND-PRES-DUAL-3" description="Active Indicative Present 3rd Person Dual"/>
				<tag name="ACT-IND-PRES-PLUR-1" description="Active Indicative Present 1st Person Plural"/>
				<tag name="ACT-IND-PRES-PLUR-2" description="Active Indicative Present 2nd Person Plural"/>
				<tag name="ACT-IND-PRES-PLUR-3" description="Active Indicative Present 3rd Person Plural"/>
				<tag name="ACT-IND-PRET-SING-1" description="Active Indicative Preterite 1st Person Singular"/>
				<tag name="ACT-IND-PRET-SING-2" description="Active Indicative Preterite 2nd Person Singular"/>
				<tag name="ACT-IND-PRET-SING-3" description="Active Indicative Preterite 3rd Person Singular"/>
				<tag name="ACT-IND-PRET-DUAL-1" description="Active Indicative Preterite 1st Person Dual"/>
				<tag name="ACT-IND-PRET-DUAL-2" description="Active Indicative Preterite 2nd Person Dual"/>
				<tag name="ACT-IND-PRET-DUAL-3" description="Active Indicative Preterite 3rd Person Dual"/>
				<tag name="ACT-IND-PRET-PLUR-1" description="Active Indicative Preterite 1st Person Plural"/>
				<tag name="ACT-IND-PRET-PLUR-2" description="Active Indicative Preterite 2nd Person Plural"/>
				<tag name="ACT-IND-PRET-PLUR-3" description="Active Indicative Preterite 3rd Person Plural"/>
				<tag name="ACT-OPT-PRES-SING-1" description="Active Optative Present 1st Person Singular"/>
				<tag name="ACT-OPT-PRES-SING-2" description="Active Optative Present 2nd Person Singular"/>
				<tag name="ACT-OPT-PRES-SING-3" description="Active Optative Present 3rd Person Singular"/>
				<tag name="ACT-OPT-PRES-DUAL-1" description="Active Optative Present 1st Person Dual"/>
				<tag name="ACT-OPT-PRES-DUAL-2" description="Active Optative Present 2nd Person Dual"/>
				<tag name="ACT-OPT-PRES-DUAL-3" description="Active Optative Present 3rd Person Dual"/>
				<tag name="ACT-OPT-PRES-PLUR-1" description="Active Optative Present 1st Person Plural"/>
				<tag name="ACT-OPT-PRES-PLUR-2" description="Active Optative Present 2nd Person Plural"/>
				<tag name="ACT-OPT-PRES-PLUR-3" description="Active Optative Present 3rd Person Plural"/>
				<tag name="ACT-OPT-PRET-SING-1" description="Active Optative Preterite 1st Person Singular"/>
				<tag name="ACT-OPT-PRET-SING-2" description="Active Optative Preterite 2nd Person Singular"/>
				<tag name="ACT-OPT-PRET-SING-3" description="Active Optative Preterite 3rd Person Singular"/>
				<tag name="ACT-OPT-PRET-DUAL-1" description="Active Optative Preterite 1st Person Dual"/>
				<tag name="ACT-OPT-PRET-DUAL-2" description="Active Optative Preterite 2nd Person Dual"/>
				<tag name="ACT-OPT-PRET-DUAL-3" description="Active Optative Preterite 3rd Person Dual"/>
				<tag name="ACT-OPT-PRET-PLUR-1" description="Active Optative Preterite 1st Person Plural"/>
				<tag name="ACT-OPT-PRET-PLUR-2" description="Active Optative Preterite 2nd Person Plural"/>
				<tag name="ACT-OPT-PRET-PLUR-3" description="Active Optative Preterite 3rd Person Plural"/>
				<tag name="PAS-IND-PRES-SING-1" description="Passive Indicative Present 1st Person Singular"/>
				<tag name="PAS-IND-PRES-SING-2" description="Passive Indicative Present 2nd Person Singular"/>
				<tag name="PAS-IND-PRES-SING-3" description="Passive Indicative Present 3rd Person Singular"/>
				<tag name="PAS-IND-PRES-DUAL-1" description="Passive Indicative Present 1st Person Dual"/>
				<tag name="PAS-IND-PRES-DUAL-2" description="Passive Indicative Present 2nd Person Dual"/>
				<tag name="PAS-IND-PRES-DUAL-3" description="Passive Indicative Present 3rd Person Dual"/>
				<tag name="PAS-IND-PRES-PLUR-1" description="Passive Indicative Present 1st Person Plural"/>
				<tag name="PAS-IND-PRES-PLUR-2" description="Passive Indicative Present 2nd Person Plural"/>
				<tag name="PAS-IND-PRES-PLUR-3" description="Passive Indicative Present 3rd Person Plural"/>
				<tag name="PAS-OPT-PRES-SING-1" description="Passive Optative Present 1st Person Singular"/>
				<tag name="PAS-OPT-PRES-SING-2" description="Passive Optative Present 2nd Person Singular"/>
				<tag name="PAS-OPT-PRES-SING-3" description="Passive Optative Present 3rd Person Singular"/>
				<tag name="PAS-OPT-PRES-DUAL-1" description="Passive Optative Present 1st Person Dual"/>
				<tag name="PAS-OPT-PRES-DUAL-2" description="Passive Optative Present 2nd Person Dual"/>
				<tag name="PAS-OPT-PRES-DUAL-3" description="Passive Optative Present 3rd Person Dual"/>
				<tag name="PAS-OPT-PRES-PLUR-1" description="Passive Optative Present 1st Person Plural"/>
				<tag name="PAS-OPT-PRES-PLUR-2" description="Passive Optative Present 2nd Person Plural"/>
				<tag name="PAS-OPT-PRES-PLUR-3" description="Passive Optative Present 3rd Person Plural"/>
				<tag name="ACT-IMP-PRES-SING-1" description="Active Imperative 1st Person Singular"/>
				<tag name="ACT-IMP-PRES-SING-2" description="Active Imperative 2nd Person Singular"/>
				<tag name="ACT-IMP-PRES-SING-3" description="Active Imperative 3rd Person Singular"/>
				<tag name="ACT-IMP-PRES-DUAL-1" description="Active Imperative 1st Person Dual"/>
				<tag name="ACT-IMP-PRES-DUAL-2" description="Active Imperative 2nd Person Dual"/>
				<tag name="ACT-IMP-PRES-DUAL-3" description="Active Imperative 3rd Person Dual"/>
				<tag name="ACT-IMP-PRES-PLUR-1" description="Active Imperative 1st Person Plural"/>
				<tag name="ACT-IMP-PRES-PLUR-2" description="Active Imperative 2nd Person Plural"/>
				<tag name="ACT-IMP-PRES-PLUR-3" description="Active Imperative 3rd Person Plural"/>
			</tagset>
		</tagsets>

		<classes form-variable="Form">

<!-- ########################################################################################## -->

			<class name="Indeclinable" description="Indeclinable word (preposition, conjunction, ...)" tagset="Indeclinable">
				<parameters>
					<parameter name="Lemma"/>
				</parameters>
				<paradigm>
					<variable name="Form">
						<assign>
							<param name="Lemma"/>
						</assign>
					</variable>
				</paradigm>
			</class>

<!-- Substantivdeklination -->
					
			<class name="Noun" description="Unspecified noun" tagset="Noun">
				<parameters>
					<parameter name="Lemma"/>
					<parameter name="Pluraletantum" pattern="&Boolean;" default="&False;"/>
					<parameter name="Singularetantum" pattern="&Boolean;" default="&False;"/>
				</parameters>
				<functions>
					<function name="DeriveRoot" description="Derives root from nominative singular."/>
					<function name="DeriveRootFromPlural" description="Derives root from nominative plural."/>
					<function name="Phonology" description="Applies general phonological rules.">
						<!-- execution order is important, e.g. when processing stems like *hauja-, *maujo- or *þiujo- -->
						&FinalDevoicing;
						&o-Alternation;
						&w-Alternation;
						&nn-Reduction; <!-- e.g. MKons manna/mans -->
					</function>
				</functions>
				<paradigm>
					<variable name="Form">
						<assign range="*">
							<apply-function name="Phonology">
								<concatenation>
									<var name="Root"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
					<variable name="Root">
						<assign range="*">
							<apply-function name="DeriveRoot">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Suffix"/>
				</paradigm>
				<conditions>
					<when parameter="Pluraletantum" matches="&True;">
						<override name="Form">
							<assign range="SING"><null/></assign>
						</override>
						<override name="Root">
							<assign range="*">
								<apply-function name="DeriveRootFromPlural">
									<param name="Lemma"/>
								</apply-function>
							</assign>
						</override>
					</when>
					<when parameter="Singularetantum" matches="&True;">
						<override name="Form">
							<assign range="PLUR">
								<null/>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

<!-- ########################################################################################## -->

<!-- A. Vokalische Deklination -->
			
			<class name="_VocStems" inherits="Noun"  description="Abstract class defining common elements of vocalic stems (strong declension)" abstract="true"/>
			
	<!-- I. a-Stämme -->
		
			<class name="_MaStems" description="Abstract class defining common elements of masculine a-stems [St §144; BE §89]" inherits="_VocStems" abstract="true">
				<functions>
					<function name="DeriveRootFromPlural">&RemoveFinal-os;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="*">
							<list>
								<literal value="s"/>
								<emptystring/>
								<literal value="a"/>
								<literal value="is"/>
								<emptystring/>
								<literal value="os"/>
								<literal value="ans"/>
								<literal value="am"/>
								<literal value="e"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="_NaStems" description="Abstract class defining common elements of neuter a-stems" inherits="_VocStems" abstract="true">
				<functions>
					<function name="DeriveRootFromPlural">&RemoveFinal-a;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="*">
							<list>
								<emptystring/>
								<emptystring/>
								<literal value="a"/>
								<literal value="is"/>
								<null/>
								<literal value="a"/>
								<literal value="a"/>
								<literal value="am"/>
								<literal value="e"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->

		<!-- 1. Reine a-Stämme -->

			<class name="Ma" description="Masculine a-stems [St §145; BE §90-91]" inherits="_MaStems">
				<parameters>
					<parameter name="Lemma" default="hlaifs" pattern="^{Char}+[sr]$"/>
					<parameter name="z-Assimilation" pattern="&Boolean;" default="&False;" description="&Description_z-Assimilation;"/>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-s;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-os;</function>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">&CancelFinalDevoicing;</function>
				</functions>
				<conditions>
					<when parameter="z-Assimilation" matches="&True;">
						<override name="Root">
							<assign>
								<param name="Lemma"/>
							</assign>
						</override>
						<override name="Form">
							<assign range="NOM-SING">
								<param name="Lemma"/>
							</assign>
						</override>
					</when>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

			<class name="Na" description="Neuter a-stems [St §145; BE §93-94]" inherits="_NaStems">
				<parameters>
					<parameter name="Lemma" default="waurd"/>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>					
					<function name="DeriveRoot"/><!-- Empty function, since root equals lemma here. -->
					<function name="DeriveRootFromPlural">&RemoveFinal-a;</function>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">&CancelFinalDevoicing;</function>
				</functions>
				<conditions>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

<!-- ########################################################################################## -->

		<!-- 2. ja-Stämme -->

			<class name="_MjaStems" description="Abstract class defining common elements of (masculine) ja-stems" inherits="_MaStems" abstract="true">
				<functions>
					<function name="DeriveRootFromPlural">&RemoveFinal-jos;</function>
					<function name="j-Rules"/>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<apply-function name="j-Rules">
								<concatenation>
									<literal value="j"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="_NjaStems" description="Abstract class defining common elements of neuter ja-stems" inherits="_NaStems" abstract="true">
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-i;
						<rgx pattern="au$" replace="o" description="This covers tau-i > root tô- (D. tô-ja): Braune/Ebbinghaus 1981 [§26]"/>
					</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-ja;</function>
					<function name="j-Rules">
						&j-Alternation;
						&ja-Stem-Rules;
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<apply-function name="j-Rules">
								<concatenation>
									<literal value="j"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Mja" description="Masculine short ja-stems [St §146; BE §90/92]" inherits="_MjaStems">
				<parameters><parameter name="Lemma" default="harjis"/></parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-jis;
						&NormalizeFinal-u; <!-- see Adj.ja ‘niujis’ -->
					</function>
					<function name="j-Rules">
						&j-Alternation;
						&ja-Stem-Rules;
					</function>
				</functions>
			</class>

			<class name="Mia" description="Masculine long ja-stems [St §146; BE §90/92]" inherits="_MjaStems">
				<parameters><parameter name="Lemma" default="hairdeis"/></parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-eis;</function>
					<function name="j-Rules">
						&j-Alternation;
						&ia-Stem-Rules;
					</function>
				</functions>
			</class>

			<class name="Nja" description="Neuter short ja-stems [St §146; BE §93/95]" inherits="_NjaStems">
				<parameters>
					<parameter name="Lemma" default="kuni"/>
				</parameters>
			</class>

			<class name="Nia" description="Neuter long ja-stems [St §146; BE §93/95]" inherits="_NjaStems">
				<parameters>
					<parameter name="Lemma" default="reiki"/>
				</parameters> 
			</class>

<!-- ########################################################################################## -->

		<!-- 3. wa-Stämme -->

			<class name="Mwa" description="Masculine wa-stems [St §147]" inherits="_MaStems">
				<parameters>
					<parameter name="Lemma" default="þius"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-s;
						&NormalizeFinal-u;
					</function>
				</functions>
			</class>

			<class name="Nwa" description="Neuter wa-stems [St §147]" inherits="_NaStems">
				<parameters>
					<parameter name="Lemma" default="triu"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&NormalizeFinal-u; 
					</function>
				</functions>
			</class>

<!-- ########################################################################################## -->

	<!-- II. ō-Stämme -->

			<class name="_oStems" description="Abstract class defining common elements of o-stems" inherits="_VocStems" abstract="true">
				<functions>
					<function name="DeriveRoot">&RemoveFinal-a;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-os;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="a"/>
								<literal value="a"/>
								<literal value="ai"/>
								<literal value="os"/>
								<null/>
								<literal value="os"/>
								<literal value="os"/>
								<literal value="om"/>
								<literal value="o"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

		<!-- 1. Reine ō-Stämme -->

			<class name="Fo" description="Pure ō-stems (feminine) [St §149; BE §96-97]" inherits="_oStems">
				<parameters>
					<parameter name="Lemma" default="giba"/>
				</parameters>
			</class>

		<!-- 2. jō-Stämme -->
		
			<class name="_joStems" description="Abstract class defining common elements of o-stems" abstract="true" inherits="_oStems" >
				<functions>
					<function name="DeriveRoot">&RemoveFinal-ja;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-jos;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<concatenation>
								<literal value="j"/>
								<var name="Suffix"/>
							</concatenation>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Fjo" description="Short jō-stems (feminine) [St §150; BE §96-97]" inherits="_joStems">
				<parameters>
					<parameter name="Lemma" default="sunja"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-ja;</function>
				</functions>
			</class>

			<class name="Fio" description="Long jō-stems (feminine) [St §150; BE §98]" inherits="_joStems">
				<parameters>
					<parameter name="Lemma" default="bandi"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-i;
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="NOM-SING">
							<literal value="i" />
						</assign>
					</variable>
				</paradigm>
			</class>

		<!-- 3. wō-Stämme -->

			<class name="Fwo" description="wō-stems (feminine) [St §151; BE §97.A1]" inherits="_oStems">
				<parameters>
					<parameter name="Lemma" default="triggwa"/>
				</parameters>
			</class>

<!-- ########################################################################################## -->

	<!-- III. i-Stämme -->
	
			<class name="_iStems" description="Abstract class defining common elements of i-stems [St §152; BE §99]" inherits="_VocStems" abstract="true">
				<parameters>
					<parameter name="z-Assimilation" pattern="&Boolean;" default="&False;" description="&Description_z-Assimilation;"/>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-s;
						&NormalizeFinal-u; <!-- e.g. Mi naus, NP naweis -->
					</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-eis;</function>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">&CancelFinalDevoicing;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="s"/>
								<literal value=""/>
								<null/>
								<null/>
								<null/>
								<literal value="eis"/>
								<literal value="ins"/>
								<literal value="im"/>
								<literal value="e"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
				<conditions>
					<when parameter="z-Assimilation" matches="&True;">
						<override name="Root">
							<assign>
								<param name="Lemma"/>
							</assign>
						</override>
						<override name="Form">
							<assign range="NOM-SING">
								<param name="Lemma"/>
							</assign>
						</override>
					</when>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

			<class name="Mi" description="Masculine i-stems [St §152; BE §100-101]" inherits="_iStems">
				<parameters>
					<parameter name="Lemma" default="gasts"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="DAT-SING"><literal value="a" /></assign>
						<assign range="GEN-SING"><literal value="is" /></assign>
						<assign range="VOC-SING"><emptystring/></assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Fi" description="Feminine i-stems [St §152; BE §102-103]" inherits="_iStems">
				<parameters>
					<parameter name="Lemma" default="qens"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="DAT-SING"><literal value="ai" /></assign>
						<assign range="GEN-SING"><literal value="ais" /></assign>
					</variable>
				</paradigm>
			</class>

			<class name="Fi-o" description="Feminine i/o-stems [St §152.A6; BE §103.A1]" inherits="Fi">
				<parameters>
					<parameter name="Lemma" default="laiseins"/>
				</parameters>
				<functions>
					<function name="DeriveRootFromPlural">&RemoveFinal-os;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="NOM-PLUR"><literal value="os"/></assign>
						<assign range="GEN-PLUR"><literal value="o"/></assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->

	<!-- IV. u-Stämme -->

			<class name="_uStems" description="Abstract class defining common elements of u-stems [St §153; EB §104-105]" inherits="_VocStems" abstract="true">
				<functions>
					<function name="DeriveRoot">&RemoveFinal-us;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-jus;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="us"/>
								<literal value="u"/>
								<literal value="au"/>
								<literal value="aus"/>
								<literal value="au|u" type="expression"/>
								<literal value="jus"/>
								<literal value="uns"/>
								<literal value="um"/>
								<literal value="iwe"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
				<conditions>
					<when parameter="Lemma" matches="jus$">
						<!-- The nominative plural of words like drunjus and waddjus is problematic (Gomorph would mechanically generate *drunjjus and *wadjjus), so we return an empty set instead: -->
						<override name="Form">
							<assign range="NOM-PLUR">
								<null/>
							</assign>
						</override>
					</when>
					<when parameter="Pluraletantum" matches="&True;">
						<!-- Since the rule above automatically applies to pluralia tantum, it has to be overridden again when the input is a legitimate plural noun: -->
						<override name="Form">
							<assign range="NOM-PLUR">
								<param name="Lemma"/>
							</assign>
						</override>
					</when>
				</conditions>
			</class>
			
			<class name="u" description="Masculine OR Feminine u-stems [St §153; BE §104: “Bei einigen ist das Geschlecht zweifelhaft”]" inherits="_uStems">
				<parameters>
					<parameter name="Lemma" default="flodus"/>
				</parameters>
				<paradigm>
					<variable name="Form">
						<assign range="VOC-SING|PLUR">
							<null/>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Mu" description="Masculine u-stems [St §153; BE §104-105]" inherits="_uStems">
				<parameters>
					<parameter name="Lemma" default="sunus"/>
				</parameters>
			</class>

			<class name="Fu" description="Feminine u-stems [St §153; BE §104-105]" inherits="_uStems">
				<parameters>
					<parameter name="Lemma" default="handus"/>
				</parameters>
				<paradigm>
					<variable name="Form">
						<assign range="VOC">
							<null/>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Nu" description="Neuter u-stems [St §153; EB §106]" inherits="_uStems">
				<parameters>
					<parameter name="Lemma" default="faihu"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-u;</function>
					<function name="DeriveRootFromPlural"/>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="NOM-SING"><literal value="u"/></assign>
						<assign range="VOC-SING"><null/></assign>
						<assign range="PLUR"><null/></assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Mu-i" description="Masculine u/i-stems [St §163; EB §120.A1]" inherits="_uStems">
				<parameters>
					<parameter name="Lemma" default="apaustaulus"/>
				</parameters>
				<functions>
					<function name="DeriveRootFromPlural">&RemoveFinal-eis;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="NOM-PLUR"><literal value="eis"/></assign>
						<assign range="GEN-PLUR"><literal value="e"/></assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->

<!-- B. Konsonantische Deklination -->

	<!-- I. n-Stämme -->
		
		<!-- 1. Reine n-Stämme -->
		<!-- 2. jan-Stämme -->
		<!-- 3. ein-Stämme -->

			<class name="_ConsStems" inherits="Noun" abstract="true">
				<functions>
					<function name="Phonology"/><!-- Since none of the phonological rules applies to the classes defined below, this function is cleared in order to increase performance -->
				</functions>
			</class>
			
			<class name="Mn" description="Masculine n-stems [St §155-156; BE §107-108]" inherits="_ConsStems">
				<parameters>
					<parameter name="Lemma" default="atta"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-a;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-ans;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="a"/>
								<literal value="an"/>
								<literal value="in"/>
								<literal value="ins"/>
								<null/>
								<literal value="ans"/>
								<literal value="ans"/>
								<literal value="am"/>
								<literal value="ane"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Fn" description="Feminine n-stems [St §155-157; BE §111-113]" inherits="_ConsStems">
				<parameters>
					<parameter name="Lemma" default="qino"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						<rgx pattern="(o|ei)$" replace=""/>
					</function>
					<function name="DeriveRootFromPlural">
						<rgx pattern="(o|ei)ns$" replace=""/>
					</function>
				</functions>
				<conditions>
					<when parameter="Lemma" matches="o(ns)?$">
						<override name="Suffix">
							<assign>
								<list>
									<literal value="o"/>
									<literal value="on"/>
									<literal value="on"/>
									<literal value="ons"/>
									<null/>
									<literal value="ons"/>
									<literal value="ons"/>
									<literal value="om"/>
									<literal value="ono"/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="ei(ns)?$">
						<override name="Suffix">
							<assign>
								<list>
									<literal value="ei"/>
									<literal value="ein"/>
									<literal value="ein"/>
									<literal value="eins"/>
									<null/>
									<literal value="eins"/>
									<literal value="eins"/>
									<literal value="eim"/>
									<literal value="eino"/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

			<class name="Nn" description="Neuter n-stems [St §155; BE §109-110]" inherits="_ConsStems">
				<parameters>
					<parameter name="Lemma" default="hairto"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-o;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-ona;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="o"/>
								<literal value="o"/>
								<literal value="in"/>
								<literal value="ins"/>
								<null/>
								<literal value="ona"/>
								<literal value="ona"/>
								<literal value="am"/>
								<literal value="ane"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->

	<!-- II. r-Stämme -->

			<class name="_rStems" description="Abstract class defining common elements of r-stems" inherits="_ConsStems" abstract="true">
				<functions>
					<function name="DeriveRoot">&RemoveFinal-ar;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-rjus;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="ar"/>
								<literal value="ar"/>
								<literal value="r"/>
								<literal value="rs"/>
								<literal value="ar"/>
								<literal value="rjus"/>
								<literal value="runs"/>
								<literal value="rum"/>
								<literal value="re"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Mr" description="Masculine r-stems [St §158; BE §114]" inherits="_rStems">
				<parameters>
					<parameter name="Lemma" default="broþar"/>
				</parameters>
			</class>
			<!-- Streitberg makes no distinction (“Die Flexion beider Geschlechter stimmt überein”): -->
			<class name="Fr" description="[Feminine r-stems]" inherits="_rStems">
				<parameters>
					<parameter name="Lemma" default="swistar"/>
				</parameters>
			</class>

<!-- ########################################################################################## -->

	<!-- III. nd-Stämme -->

			<class name="Mnd" description="Masculine nd-stems [St §159; BE §115]" inherits="_ConsStems">
				<parameters>
					<parameter name="Lemma" default="nasjands"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-s;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-s;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="s"/>
								<literal value=""/>
								<literal value=""/>
								<literal value="is"/>
								<literal value=""/>
								<literal value="s"/>
								<literal value="s"/>
								<literal value="am"/>
								<literal value="e"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->

	<!-- IV. Verschiedenes -->
	
			<class name="_RootNouns" description="Abstract class defining common elements of root nouns (‘Wurzelnomina’) [BE §115b]" abstract="true" inherits="Noun">
				<parameters>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">&RemoveFinal-s;</function>
					<function name="DeriveRootFromPlural">&RemoveFinal-s;</function>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">
						<rgx pattern="({V})f$" replace="$1b"/>
						<rgx pattern="({V})þ$" replace="$1d"/>
						<rgx pattern="({V})s$" replace="$1z"/>
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<literal value="s"/>
								<literal value=""/>
								<literal value=""/>
								<literal value="s"/>
								<null/>
								<literal value="s"/>
								<literal value="s"/>
								<null/>
								<literal value="e"/>
								<null/>
							</list>
						</assign>
					</variable>
				</paradigm>
				<conditions>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
		</class>

		<!-- 1. Feminina -->
			<class name="Fkons" description="Feminine root nouns [St §160; BE §116]" inherits="_RootNouns">
				<parameters>
					<parameter name="Lemma" default="baurgs"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="DAT-PLUR">
								<literal value="im"/>
						</assign>
					</variable>
				</paradigm>
			</class>

		<!-- 2. Maskulina -->
			<class name="Mkons" description="Masculine root nouns [St §161; BE §117]" inherits="_RootNouns">
				<parameters>
					<parameter name="Lemma" default="menoþs"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="DAT-PLUR">
								<literal value="um"/>
						</assign>
					</variable>
				</paradigm>
			</class>

		<!-- 3. Neutra -->
		<!-- lemma fon, funins > "Unreg.N" -->

<!-- ########################################################################################## -->

<!-- Adjektivdeklination -->

			<class name="Adjective" description="Unspecified adjective" tagset="Adjective">
				<parameters>
					<parameter name="Lemma"/>
					<parameter name="WeakDeclensionOnly" default="&False;" description="The adjective has always weak declension (e.g. the comparative degree)"/>
					<parameter name="StrongDeclensionOnly" default="&False;" description="The adjective is always declined strong (e.g. ‘fulls’)"/>
				</parameters>
				<functions>
					<function name="DeriveRoot" description="Derives root from strong masculine nominative singular."/>
					<function name="DeriveRootFromWeakDeclension" description="Derives root from weak masculine nominative singular."/>
					<function name="Phonology" description="Applies general phonological rules.">
						&FinalDevoicing;
						&o-Alternation;
						&w-Alternation;
					</function>
					<function name="Reconstruction" description="&Description_Reconstruction;">&Reconstruction;</function>
				</functions>
				<paradigm>
					<variable name="Form">
						<assign range="*">
							<apply-function name="Phonology">
								<concatenation>
									<var name="Root"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
					<variable name="Root">
						<assign range="*">
							<apply-function name="DeriveRoot">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Suffix"/>
				</paradigm>
				<conditions>
					<when parameter="WeakDeclensionOnly" matches="&True;">
						<override name="Form">
							<assign range="STRONG"><null/></assign>
						</override>
						<override name="Root">
							<assign range="*">
								<apply-function name="DeriveRootFromWeakDeclension">
									<param name="Lemma"/>
								</apply-function>
							</assign>
						</override>
					</when>
					<when parameter="StrongDeclensionOnly" matches="&True;">
						<override name="Form">
							<assign range="WEAK"><null/></assign>
						</override>
					</when>
				</conditions>
			</class>
			
			<class name="_aStemsAdj" description="Abstract class defining common elements of a/o-stems." abstract="true" inherits="Adjective">
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-s;
						&NormalizeFinal-u; <!-- e.g. ‘qius’ -->
					</function>
					<function name="DeriveRootFromWeakDeclension">&RemoveFinal-a;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="STRONG-MASC">
							<list>
								<literal value="s"/>
								<literal value="ana"/>
								<literal value="amma"/>
								<literal value="is"/>
								<literal value="ai"/>
								<literal value="ans"/>
								<literal value="aim"/>
								<literal value="aize"/>
							</list>
						</assign>
						<assign range="STRONG-FEM">
							<list>
								<literal value="a"/>
								<literal value="a"/>
								<literal value="ai"/>
								<literal value="aizos"/>
								<literal value="os"/>
								<literal value="os"/>
								<literal value="aim"/>
								<literal value="aizo"/>
							</list>
						</assign>
						<assign range="STRONG-NEUT">
							<list>
								<literal value="|ata" type="expression"/>
								<literal value="|ata" type="expression"/>
								<literal value="amma"/>
								<literal value="is"/>
								<literal value="a"/>
								<literal value="a"/>
								<literal value="aim"/>
								<literal value="aize"/>
							</list>
						</assign>
						<assign range="WEAK-MASC">
							<list>
								<literal value="a"/>
								<literal value="an"/>
								<literal value="in"/>
								<literal value="ins"/>
								<literal value="ans"/>
								<literal value="ans"/>
								<literal value="am"/>
								<literal value="ane"/>
							</list>
						</assign>
						<assign range="WEAK-FEM">
							<list>
								<literal value="o"/>
								<literal value="on"/>
								<literal value="on"/>
								<literal value="ons"/>
								<literal value="ons"/>
								<literal value="ons"/>
								<literal value="om"/>
								<literal value="ono"/>
							</list>
						</assign>
						<assign range="WEAK-NEUT">
							<list>
								<literal value="o"/>
								<literal value="o"/>
								<literal value="in"/>
								<literal value="ins"/>
								<literal value="ona"/>
								<literal value="ona"/>
								<literal value="am"/>
								<literal value="ane"/>
							</list>
						</assign>
						<assign range="CMP|SPR|ADV"><null/></assign>
					</variable>
				</paradigm>
			</class>

			<class name="Adj.a" description="Pure a/o-stems [St §181; BE §123-124]" inherits="_aStemsAdj">
				<parameters>
					<parameter name="Lemma" default="blinds"/>
					<parameter name="z-Assimilation" pattern="&Boolean;" default="&False;" description="&Description_z-Assimilation;"/>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">&CancelFinalDevoicing;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="CMP"><literal value="iza|oza" type="expression"/></assign>
						<assign range="SPR"><literal value="ists|osts" type="expression"/></assign>
						<assign range="ADV"><literal value="aba"/></assign>
					</variable>
				</paradigm>
				<conditions>
					<when parameter="z-Assimilation" matches="&True;">
						<override name="Root">
							<assign>
								<param name="Lemma"/>
							</assign>
						</override>
						<override name="Form">
							<assign range="STRONG-MASC-NOM-SING">
								<param name="Lemma"/>
							</assign>
						</override>
					</when>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
			</class>

			<class name="_jaStemsAdj" description="Abstract class defining common elements of ja-stems" inherits="_aStemsAdj" abstract="true">
				<functions>
					<function name="DeriveRootFromWeakDeclension">&RemoveFinal-ja;</function>
					<function name="j-Rules"/>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<apply-function name="j-Rules">
								<concatenation>
									<literal value="j"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
						<assign range="CMP"><literal value="iza"/></assign>
						<assign range="SPR"><literal value="ists"/></assign>
						<assign range="ADV"><literal value="jaba"/></assign>
					</variable>
				</paradigm>
			</class>

			<class name="Adj.ja" description="Short ja/jo-stems [St §182; BE §125-126]" inherits="_jaStemsAdj">
				<parameters>
					<parameter name="Lemma" default="midjis"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-jis;
						&NormalizeFinal-u; <!-- e.g. ‘niujis’ -->
					</function>
					<function name="j-Rules">
						&j-Alternation;
						&ja-Stem-Rules;
					</function>
				</functions>
				<!--
				<paradigm>
					<variable name="Form">
						<assign range="STRONG-(FEM-(NOM|ACC|GEN)|(MASC|NEUT)-GEN)-PLUR">
							<apply-function name="Reconstruction">
								<var name="Form"/>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
				-->
			</class>

			<class name="Adj.ia" description="Long ja/jo-stems [St §182; BE §127-128]" inherits="_jaStemsAdj">
				<parameters>
					<parameter name="Lemma" default="wilþeis"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-eis;
					</function>
					<function name="j-Rules">
						&j-Alternation;
						&ia-Stem-Rules;
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="STRONG-FEM-NOM-SING">
							<!-- compare with Fio / Sanskrit deví: -->
							<literal value="i"/>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Adj.i" description="Partial i-stems (“nur noch in Resten vorhanden”; most forms went over into ja-declension) [St §183; BE §130]" inherits="_jaStemsAdj">
				<parameters>
					<parameter name="Lemma" default="hrains"/>
					<parameter name="Auslautverhärtung" pattern="&Boolean;" default="&True;" description="&Description_Auslautverhärtung;"/>
				</parameters>
				<functions>
					<function name="CancelFinalDevoicing" description="&Description_CancelFinalDevoicing;">&CancelFinalDevoicing;</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="STRONG-(MASC|FEM)-NOM-SING">
							<literal value="s"/>
						</assign>
						<assign range="STRONG-NEUT-(NOM|ACC)-SING">
							<literal value=""/>
						</assign>
						<assign range="STRONG-(MASC|NEUT)-GEN-SING">
							<literal value="is"/>
						</assign>
						<assign range="ADV"><literal value="iba"/></assign>
					</variable>
					<variable name="Form">
					<!-- [BE §130.A1]: -->
						<assign range="STRONG-FEM-GEN-SING">
							<apply-function name="Reconstruction">
								<var name="Form"/>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
				<conditions>
					<when parameter="Auslautverhärtung" matches="&True;">
						<override name="Root">
							<assign>
								<apply-function name="CancelFinalDevoicing">
									<var name="Root"/>
								</apply-function>
							</assign>
						</override>
					</when>
				</conditions>
			</class>
			
			<class name="Adj.u" description="Partial u-stems (“nur noch in Resten vorhanden”; most forms went over into ja-declension) [St §184; BE §131]" inherits="_jaStemsAdj">
				<parameters>
					<parameter name="Lemma" default="hardus"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-us;
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign range="STRONG-(MASC|FEM)-NOM-SING">
							<literal value="us"/>
						</assign>
						<assign range="STRONG-NEUT-(NOM|ACC)-SING">
							<literal value="u|jata" type="expression"/>
						</assign>
						<assign range="STRONG-(MASC|NEUT)-GEN-SING">
							<literal value="aus?"/>
						</assign>
						<assign range="ADV"><literal value="uba"/></assign>
					</variable>
					<variable name="Form">
					<!-- [BE §131.A4] “von den nicht belegten Formen setzt man allgemein an:” -->
						<assign range="STRONG-(MASC|FEM|NEUT)-(GEN|DAT)-SING">
							<apply-function name="Reconstruction">
								<var name="Form"/>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="_AdjWithWeakFemEIN" description="Adjectives with weak fem. ein-stem [BE §132.A4]"  abstract="true" inherits="_aStemsAdj">
				<parameters>
					<!-- block parameters: -->
					<parameter name="WeakDeclensionOnly" pattern="&False;" default="&False;"/>
					<parameter name="StrongDeclensionOnly" pattern="&False;" default="&False;"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="WEAK-FEM">
							<list>
								<literal value="ei"/>
								<literal value="ein"/>
								<literal value="ein"/>
								<literal value="eins"/>
								<literal value="eins"/>
								<literal value="eins"/>
								<literal value="eim"/>
								<literal value="eino"/>
							</list>
						</assign>
						<assign range="CMP|SPR|ADV">
							<null/>
						</assign>
					</variable>
					<variable name="Form">
						<assign range="STRONG"><null/></assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Part.Pres." description="Present participle [St §187.3; BE §133]" inherits="_AdjWithWeakFemEIN">
				<parameters>
					<parameter name="Lemma" pattern="nds$" default="nimands"/>
				</parameters>
				<paradigm>
					<variable name="Form">
						<assign range="STRONG-MASC-NOM-SING">
							<param name="Lemma"/>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="Comparative" description="Adjectives: comparative degree [St §188; BE §135-136]" inherits="_AdjWithWeakFemEIN">
				<parameters>
					<parameter name="Lemma" pattern="a$" default="managiza"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-a;
					</function>
				</functions>
			</class>
			
			<class name="Part.Perf." description="Past participle [St §186.2; BE §134]" inherits="Adj.a">
				<parameters>
					<parameter name="Lemma" default="nasiþs"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="CMP|SPR|ADV">
							<null/>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="Superlative" description="Adjectives: superlative degree [St §189; BE §137]" inherits="Adj.a">
				<parameters>
					<parameter name="Lemma" default="armosts"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<remove range="STRONG-NEUT-(NOM|ACC)-SING">
							<!-- 
								Streitberg §189.A1: “Vom Nom.-Akk. N sind nur die kürzern Formen belegt [...]. 
								Das ist kein Zufall, sondern wird auf der Abneigung gegen die Lautfolge *-tata beruhn.”  
							-->
							<literal value="ata"/>
						</remove>
						<assign range="CMP|SPR|ADV">
							<null/>
						</assign>
					</variable>
				</paradigm>
			</class>

<!-- ########################################################################################## -->
			
			<class name="Verb" description="Unspecified verb" tagset="Verb">
				<parameters>
					<parameter name="Lemma"/>
				</parameters>
				<functions>
					<function name="DeriveRoot"/>
					<function name="DerivePrefix">
						<rgx pattern="(^|-)[^\-]+$" replace="" must-match="false" description="Strips everything that follows an (optional) prefix"/>
					</function>
					<function name="Phonology"/>
					<function name="Reconstruction" description="&Description_Reconstruction;">&Reconstruction;</function>
				</functions>
				<paradigm>
					<variable name="Prefix">
						<assign>
							<apply-function name="DerivePrefix">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Root"/>
					<variable name="Suffix"/>
					<variable name="Form">
						<assign>
							<apply-function name="Phonology">
								<concatenation>
									<var name="Prefix"/>
									<var name="Root"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
			</class>
			
			<class name="_StrongVerb" description="Unspecified strong verb [St §201-202; BE §169-171]" inherits="Verb" abstract="true">
				<functions>
					<function name="DeriveRoot">
						<rgx pattern="an$" replace="" must-match="true" description="Strips ending -an"/>
						<rgx pattern="^.*-" replace="" must-match="false" description="Strips optional prefix"/>
					</function>
					<function name="Ablaut2"/>
					<function name="Ablaut3"/>
					<function name="Ablaut4"/>
					<function name="Phonology">
						&FinalDevoicing;
						<rgx pattern="bt$" replace="ft" description="[St §128; BE §81]"/><!-- e.g. giban, gaft; but also &#x195;airban, *&#x195;arft? *-->
						<!--
						Braune/Ebbinghaus §170.A2: “[...] für pt fehlen Belege: *skôpt oder *skôft? (von *-skapjan); 
						[...]kt ist ebenfalls ohne Beleg (*wôkt oder *wôht? vgl. §58.A2)”:
							<rgx pattern="pt$" replace="ft" description="[St §128; BE §81]"/>
							<rgx pattern="kt$" replace="ht" description="[St §129; BE §81]"/>
						-->
						<rgx pattern="s*{D}t$" replace="st" description="DD &gt; -ss &gt; ‘Neubildung -st’ ~ nam-t [St §130; BE §81] (s*: kriustan/kraust-t would give *krausst)"/>
						&w-Alternation; <!-- sniwan/snau, maar wat met 2de pers. *snaw-t/snau-t ? -->
						&nn-Reduction;
					</function>
				</functions>
				<paradigm>
					<variable name="Baseroot">
						<assign range="*">
							<apply-function name="DeriveRoot">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Root">
						<assign range="*">
							<var name="Baseroot"/>
						</assign>
						<assign range="PRET">
							<apply-function name="Ablaut3">
								<var name="Baseroot"/>
							</apply-function>
						</assign>
						<assign range="ACT-IND-PRET-SING">
							<apply-function name="Ablaut2">
								<var name="Baseroot"/>
							</apply-function>
						</assign>
						<assign range="PART-PERF">
							<apply-function name="Ablaut4">
								<var name="Baseroot"/>
							</apply-function>
						</assign>
					</variable>			
					<variable name="Suffix">
						<assign range="ACT-IND-PRES">
							<list>
								<literal value="a"/>
								<literal value="is"/>
								<literal value="iþ"/>
								<literal value="os"/>
								<literal value="ats"/>
								<null/>
								<literal value="am"/>
								<literal value="iþ"/>
								<literal value="and"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<literal value="au"/>
								<literal value="ais"/>
								<literal value="ai"/>
								<literal value="aiwa"/>
								<literal value="aits"/>
								<null/>
								<literal value="aima"/>
								<literal value="aiþ"/>
								<literal value="aina"/>
							</list>
						</assign>
						<assign range="ACT-IND-PRET">
							<list>
								<emptystring/>
								<literal value="t"/>
								<emptystring/>
								<literal value="u"/>
								<literal value="uts"/>
								<null/>
								<literal value="um"/>
								<literal value="uþ"/>
								<literal value="un"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRET">
							<list>
								<literal value="jau"/>
								<literal value="eis"/>
								<literal value="i"/>
								<null/>
								<literal value="eits"/>
								<null/>
								<literal value="eima"/>
								<literal value="eiþ"/>
								<literal value="eina"/>
							</list>
						</assign>
						<assign range="PAS-IND-PRES">
							<list>
								<literal value="ada"/>
								<literal value="aza"/>
								<literal value="ada"/>
								<null/>
								<null/>
								<null/>
								<literal value="anda"/>
								<literal value="anda"/>
								<literal value="anda"/>
							</list>
						</assign>
						<assign range="PAS-OPT-PRES">
							<list>
								<literal value="aidau"/>
								<literal value="aizau"/>
								<literal value="aidau"/>
								<null/>
								<null/>
								<null/>
								<literal value="aindau"/>
								<literal value="aindau"/>
								<literal value="aindau"/>
							</list>
						</assign>
						<assign range="IMP">
							<list>
								<null/>
								<emptystring/>
								<literal value="adau"/>
								<null/>
								<literal value="ats"/>
								<null/>
								<literal value="am"/>
								<literal value="iþ"/>
								<literal value="andau"/>
							</list>
						</assign>
						<assign range="INF|PART-(PRES|PERF)"> 
							<list>
								<literal value="an"/>
								<literal value="ands"/>
								<literal value="ans"/>
							</list>
						</assign>
						</variable>
				</paradigm>
			</class>

			<class name="abl.V.1" description="Strong verb (class 1: Ablautreihe ei/ái/i[aí]/i[aí]) [St §203; BE §172]" inherits="_StrongVerb">
				<parameters>
					<parameter name="Lemma" default="greipan" pattern="{C}+ei{C}+an$"/>
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="ei{_C}" replace="ai" must-match="true"/> 
					</function>
					<function name="Ablaut3">
						<rgx pattern="ei{_C}" replace="i" must-match="true"/>
						<rgx pattern="i(?={C-BR}{C}*$)" replace="ai" description="&Description_Brechung-ai;"/>
					</function>
					<function name="Ablaut4">
						<rgx pattern="ei{_C}" replace="i" must-match="true"/>
						<rgx pattern="i(?={C-BR}{C}*$)" replace="ai" description="&Description_Brechung-ai;"/>
					</function>
				</functions>
			</class>

			<class name="abl.V.2" description="Strong verb (class 2: Ablautreihe iu/áu/u[aú]/u[aú]) [St §204; BE §173]" inherits="_StrongVerb">
				<parameters>
					<parameter name="Lemma" default="biudan" pattern="{C}+i?u{C}+an$"/><!-- exception for lûkan -->
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="i?u{_C}" replace="au" must-match="true"/>
					</function>
					<function name="Ablaut3">
						<rgx pattern="i?u{_C}" replace="&ShortU;" must-match="true"/>
						<rgx pattern="&ShortU;(?={C-BR}{C}*$)" replace="au" description="&Description_Brechung-au;"/>
					</function>
					<function name="Ablaut4">
						<rgx pattern="i?u{_C}" replace="&ShortU;" must-match="true"/>
						<rgx pattern="&ShortU;(?={C-BR}{C}*$)" replace="au" description="&Description_Brechung-au;"/>
					</function>
				</functions>
			</class>

			<class name="abl.V.3" description="Strong verb (class 3: Ablautreihe i[aí]/a/u[aú]/u[aú]) [St §205-206; BE §174]" inherits="_StrongVerb">
				<parameters>
					<parameter name="Lemma" default="bindan" pattern="({C}+(air|i([nml]|g[gkq])){C}*|þrisk)an$"/>
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="a?i{_C}" replace="a" must-match="true"/> 
					</function>
					<function name="Ablaut3">
						<rgx pattern="a?i{_C}" replace="&ShortU;" must-match="true"/>
						<rgx pattern="&ShortU;(?={C-BR}{C}*$)" replace="au" description="&Description_Brechung-au;"/>
					</function>
					<function name="Ablaut4">
						<rgx pattern="a?i{_C}" replace="&ShortU;" must-match="true"/>
						<rgx pattern="&ShortU;(?={C-BR}{C}*$)" replace="au" description="&Description_Brechung-au;"/>
					</function>
				</functions>
			</class>

			<class name="abl.V.4" description="Strong verb (class 4: Ablautreihe i[aí]/a/e/u[aú]) [St §207; BE §175]" inherits="_StrongVerb">
				<parameters>
					<parameter name="Lemma" default="niman" pattern="{C}+(air|[ui]{C}){C}*an$"/><!-- /u{C}/: includes irregular trudan and wulan -->
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="a?i{_C}" replace="a" must-match="true"/> 
					</function>
					<function name="Ablaut3">
						<rgx pattern="a?i{_C}" replace="&LongE;" must-match="true"/>
					</function>
					<function name="Ablaut4">
						<rgx pattern="a?i{_C}" replace="&ShortU;" must-match="true"/>
						<rgx pattern="&ShortU;(?={C-BR}{C}*$)" replace="au" description="&Description_Brechung-au;"/>
					</function>
				</functions>
			</class>

			<class name="abl.V.5" description="Strong verb (class 5: Ablautreihe i[aí]/a/e/i[aí]) [St §208; BE §176]" inherits="_StrongVerb">
				<parameters>
					<parameter name="Lemma" default="giban" pattern="a?i{C}+an$"/>
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="a?i{_C}" replace="&ShortA;" must-match="true"/> 
					</function>
					<function name="Ablaut3">
						<rgx pattern="a?i{_C}" replace="&LongE;" must-match="true"/>
					</function>
					<function name="Ablaut4">
					</function>
				</functions>
			</class>

			<class name="abl.V.6" description="Strong verb (class 6: Ablautreihe a/o/o/a) [St §209; BE §177]" inherits="_StrongVerb">
				<!-- opkuisen / herzien ! -->
				<parameters>
					<parameter name="Lemma" default="faran" pattern="a{C}+j?an$"/>
				</parameters>
				<functions>
					<function name="DeriveRootWithInfixJ"><rgx pattern="^(.*-)?(.*a{C}+j?)an$" replace="$2" must-match="true"/></function>
					<function name="SpecialPhonRules">
						<rgx pattern="j$" replace="ei" must-match="false"/>
						<rgx pattern="({C}{C}|hlah)ji([sþ])$" replace="$1ei$2" must-match="false"/>
					</function>
					<function name="DeriveRoot"><rgx pattern="^(.*-)?(.*a{C}*[^j])j?an$" replace="$2" must-match="true"/></function>
					<function name="Ablaut2">
						<rgx pattern="a{_C}" replace="&LongO;" must-match="true"/> 
					</function>
					<function name="Ablaut3">
						<rgx pattern="a{_C}" replace="&LongO;" must-match="true"/>
					</function>
					<function name="Ablaut4">
					</function>
				</functions>
				<paradigm>
					<variable name="Baseroot">
						<assign range="PRES|INF">
							<apply-function name="DeriveRootWithInfixJ">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Form">
						<assign range="ACT-IND-PRES|IMP"><apply-function name="SpecialPhonRules"><var name="Form"/></apply-function></assign>
					</variable>
				</paradigm>
			</class>

			<class name="_RedupVerb" description="Abstract class defining common elements of reduplicating verbs" inherits="_StrongVerb" abstract="true">
				<functions>
					<function name="GetReduplicationPrefix">
						<rgx pattern="^({V})" replace="#ai#$1"/>
						<rgx pattern="^(s[ptk])" replace="#$1ai#$1"/>
						<rgx pattern="^({C})" replace="#$1ai#$1"/>
						<rgx pattern="^#([^#]+)#(.*)$" replace="$1"/>
					</function>
					<function name="Ablaut2"/>
					<function name="Ablaut3"/>
					<function name="Ablaut4"/>
				</functions>
				<paradigm>
					<variable name="ReduplicationPrefix">
						<assign>
								<apply-function name="GetReduplicationPrefix">
										<var name="Baseroot"/>
								</apply-function>
						</assign>
					</variable>
					<variable name="Form">
						<assign range="PRET">
							<apply-function name="Phonology">
								<concatenation>
									<var name="Prefix"/>
									<var name="ReduplicationPrefix"/>
									<var name="Root"/>
									<var name="Suffix"/>
								</concatenation>
							</apply-function>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="red.V.1" description="Reduplicating strong verb (class 1: present stem contains -aiC-) [St §211; BE §178-179]" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="haitan" pattern="^.*ai{C}an$"/>
				</parameters>
			</class>

			<class name="red.V.2" description="Reduplicating strong verb (class 2: present stem contains -auC-) [St §211; BE §178-179]" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="aukan" pattern="^.*au{C}an$"/>
				</parameters>
			</class>

			<class name="red.V.3" description="Reduplicating strong verb (class 3: present stem contains -ǎCC- or -āC-) [St §211; BE §178-179]" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="haldan" pattern="^.*a{C}{1,2}an$"/>
				</parameters>
			</class>

			<class name="red.V.4" description="Reduplicating strong verb (class 4: present stem contains -ēC-) [St §211; BE §178-179]" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="slepan" pattern="^.*e{C}an$"/>
				</parameters>
			</class>

			<class name="red.V.5" description="Reduplicating strong verb (class 5: present stem contains -ō[C]-)" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="&#x195;opan" pattern="^.*o{C}?an$"/>
				</parameters>
			</class>

			<class name="red.-abl.V." description="Reduplicating strong verb with Ablaut [St §212; BE §180-182]" inherits="_RedupVerb">
				<parameters>
					<parameter name="Lemma" default="letan" pattern="^.*(e{C}|ai)an$"/>
				</parameters>
				<functions>
					<function name="Ablaut2">
						<rgx pattern="(e(?={C}$)|ai$)" replace="&LongO;" must-match="true"/>
					</function>
					<function name="Ablaut3">
						<rgx pattern="(e(?={C}$)|ai$)" replace="&LongO;" must-match="true"/>
					</function>
				</functions>
			</class>

			<class name="_WeakVerb" description="Unspecified weak verb" abstract="true" inherits="Verb">
				<paradigm>
					<variable name="Root">
						<assign range="*">
							<apply-function name="DeriveRoot">
								<param name="Lemma"/>
							</apply-function>
						</assign>
						<assign range="PRET">
							<concatenation>
								<var name="Root"/>
								<var name="PretSuffix"/>
							</concatenation>
						</assign>
					</variable>
					<variable name="PretSuffix"/>
					<variable name="Suffix">
						<assign range="ACT-IND-PRET">
							<list>
								<literal value="a"/>
								<literal value="es"/>
								<literal value="a"/>
								<literal value="edu"/>
								<literal value="eduts"/>
								<null/>
								<literal value="edum"/>
								<literal value="eduþ"/>
								<literal value="edun"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRET">
							<list>
								<literal value="edjau"/>
								<literal value="edeis"/>
								<literal value="edi"/>
								<null/>
								<literal value="edeits"/>
								<null/>
								<literal value="edeima"/>
								<literal value="edeiþ"/>
								<literal value="edeina"/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="sw.V.1-j" description="Weak verb (class 1: -ja- / short stems) [St §216; BE §185-188]" inherits="_WeakVerb">
				<parameters>
					<parameter name="Lemma" default="nasjan"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&RemoveFinal-jan;
						<rgx pattern="^.*-" replace="" must-match="false" description="Strips optional prefix"/>
						&NormalizeFinal-u;
					</function>
					<function name="Phonology">
						&w-Alternation;
						&o-Alternation;
					</function>
				</functions>
				<paradigm>
					<variable name="PretSuffix">
						<assign><literal value="id"/></assign>
					</variable>
					<variable name="Suffix">
						<assign range="ACT-IND-PRES">
							<list>
								<literal value="ja"/>
								<literal value="jis"/>
								<literal value="jiþ"/>
								<literal value="jos"/>
								<literal value="jats"/>
								<null/>
								<literal value="jam"/>
								<literal value="jiþ"/>
								<literal value="jand"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<literal value="jau"/>
								<literal value="jais"/>
								<literal value="jai"/>
								<literal value="jaiwa"/>
								<literal value="jaits"/>
								<null/>
								<literal value="jaima"/>
								<literal value="jaiþ"/>
								<literal value="jaina"/>
							</list>
						</assign>
						<assign range="PAS-IND-PRES">
							<list>
								<literal value="jada"/>
								<literal value="jaza"/>
								<literal value="jada"/>
								<null/>
								<null/>
								<null/>
								<literal value="janda"/>
								<literal value="janda"/>
								<literal value="janda"/>
							</list>
						</assign>
						<assign range="PAS-OPT-PRES">
							<list>
								<literal value="jaidau"/>
								<literal value="jaizau"/>
								<literal value="jaidau"/>
								<null/>
								<null/>
								<null/>
								<literal value="jaindau"/>
								<literal value="jaindau"/>
								<literal value="jaindau"/>
							</list>
						</assign>
						<assign range="IMP">
							<list>
								<null/>
								<literal value="ei"/>
								<literal value="jadau"/>
								<null/>
								<literal value="jats"/>
								<null/>
								<literal value="jam"/>
								<literal value="jiþ"/>
								<literal value="jandau"/>
							</list>
						</assign>
						<assign range="INF|PART-(PRES|PERF)"> 
							<list>
								<literal value="jan"/>
								<literal value="jands"/>
								<literal value="iþs"/>
							</list>
						</assign>
					</variable>
					<!--
					<variable name="Form">
						<assign range="ACT-(IND-PRET-DUAL-1|OPT-.*-DUAL)|IMP-PRES-PLUR-3">
							<apply-function name="Reconstruction">
								<var name="Form"/>
							</apply-function>
						</assign>
					</variable>
					-->
				</paradigm>
			</class>

			<class name="sw.V.1-i" description="Weak verb (class 1: -ja- / long stems) [St §216; BE §185-188]" inherits="sw.V.1-j">
				<parameters>
					<parameter name="Lemma" default="sokjan"/>
				</parameters>
				<paradigm>
					<variable name="Suffix">
						<assign range="ACT-IND-PRES-SING-2">
							<literal value="eis"/>
						</assign>
						<assign range="ACT-(IND-PRES-(SING-3|PLUR-2)|IMP-PRES-PLUR-2)">
							<literal value="eiþ"/>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="sw.V.2" description="Weak verb (class 2: -o-) [St §217; BE §189-190]" inherits="_WeakVerb">
				<parameters>
					<parameter name="Lemma" default="salbon"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						<rgx pattern="on$" replace="" must-match="true" description="Strips ending -on"/>
						<rgx pattern="^.*-" replace="" must-match="false" description="Strips optional prefix"/>
					</function>
				</functions>
				<paradigm>
					<variable name="PretSuffix">
						<assign><literal value="od"/></assign>
					</variable>
					<variable name="Suffix">
						<assign range="ACT-IND-PRES">
							<list>
								<literal value="o"/>
								<literal value="os"/>
								<literal value="oþ"/>
								<literal value="os"/>
								<literal value="ots"/>
								<null/>
								<literal value="om"/>
								<literal value="oþ"/>
								<literal value="ond"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<null/>
								<literal value="os"/>
								<literal value="o"/>
								<literal value="owa"/>
								<literal value="ots"/>
								<null/>
								<literal value="oma"/>
								<literal value="oþ"/>
								<literal value="ona"/>
							</list>
						</assign>
						<assign range="PAS-IND-PRES">
							<list>
								<literal value="oda"/>
								<literal value="oza"/>
								<literal value="oda"/>
								<null/>
								<null/>
								<null/>
								<literal value="onda"/>
								<literal value="onda"/>
								<literal value="onda"/>
							</list>
						</assign>
						<assign range="PAS-OPT-PRES">
							<list>
								<literal value="odau"/>
								<literal value="ozau"/>
								<literal value="odau"/>
								<null/>
								<null/>
								<null/>
								<literal value="ondau"/>
								<literal value="ondau"/>
								<literal value="ondau"/>
							</list>
						</assign>
						<assign range="IMP">
							<list>
								<null/>
								<literal value="o"/>
								<literal value="odau"/>
								<null/>
								<literal value="ots"/>
								<null/>
								<literal value="om"/>
								<literal value="oþ"/>
								<literal value="ondau"/>
							</list>
						</assign>
						<assign range="INF|PART-(PRES|PERF)"> 
							<list>
								<literal value="on"/>
								<literal value="onds"/>
								<literal value="oþs"/>
							</list>
						</assign>
					</variable>
					<!--
					<variable name="Form">
						<assign range="DUAL|IMP-PRES-(SING-3|PLUR-1)|PAS-.*-PRES-SING-2">
							<apply-function name="Reconstruction">
								<var name="Form"/>
							</apply-function>
						</assign>
					</variable>
					-->
				</paradigm>
			</class>

			<class name="sw.V.3" description="Weak verb (class 3: -ai-) [St §218; BE §191-193]" inherits="_WeakVerb">
				<parameters>
					<parameter name="Lemma" default="haban"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						<rgx pattern="an$" replace="" must-match="true" description="Strips ending -an"/>
						<rgx pattern="^.*-" replace="" must-match="false" description="Strips optional prefix"/>
					</function>
				</functions>
				<paradigm>
					<variable name="PretSuffix">
						<assign><literal value="aid"/></assign>
					</variable>
					<variable name="Suffix">
						<assign range="ACT-IND-PRES">
							<list>
								<literal value="a"/>
								<literal value="ais"/>
								<literal value="aiþ"/>
								<literal value="os"/>
								<null/>
								<null/>
								<literal value="am"/>
								<literal value="aiþ"/>
								<literal value="and"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<literal value="au"/>
								<literal value="ais"/>
								<literal value="ai"/>
								<literal value="aiwa"/>
								<literal value="aits"/>
								<null/>
								<literal value="aima"/>
								<literal value="aiþ"/>
								<literal value="aina"/>
							</list>
						</assign>
						<assign range="PAS-IND-PRES">
							<list>
								<literal value="ada"/>
								<literal value="aza"/>
								<literal value="ada"/>
								<null/>
								<null/>
								<null/>
								<literal value="anda"/>
								<literal value="anda"/>
								<literal value="anda"/>
							</list>
						</assign>
						<assign range="PAS-OPT-PRES">
							<list>
								<literal value="aidau"/>
								<literal value="aizau"/>
								<literal value="aidau"/>
								<null/>
								<null/>
								<null/>
								<literal value="aindau"/>
								<literal value="aindau"/>
								<literal value="aindau"/>
							</list>
						</assign>
						<assign range="IMP">
							<list>
								<null/>
								<literal value="ai"/>
								<null/>
								<null/>
								<null/>
								<null/>
								<literal value="am"/>
								<literal value="aiþ"/>
								<literal value="andau"/>
							</list>
						</assign>
						<assign range="INF|PART-(PRES|PERF)"> 
							<list>
								<literal value="an"/>
								<literal value="ands"/>
								<literal value="aiþs"/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="sw.V.4" description="Weak verb (class 4: -na-) [St §219; BE §194-195]" inherits="_WeakVerb">
				<parameters>
					<parameter name="Lemma" default="fullnan"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						<rgx pattern="an$" replace="" must-match="true" description="Strips ending -an"/>
						<rgx pattern="^.*-" replace="" must-match="false" description="Strips optional prefix"/>
					</function>
				</functions>
				<paradigm>
					<variable name="PretSuffix">
						<assign><literal value="od"/></assign>
					</variable>
					<variable name="Form">
						<!-- 
							“All verbs belonging to this class are intransitive and accordingly have no passive voice.” [Wright 1954]
							“Von der vierten Klasse wird kein Part. Perf. gebildet, da die ihr zugehörigen Verba intransitiv sind.” [Streitberg 1920]	
						-->
						<assign range="^PAS-|PART-PERF"><null/></assign>
					</variable>
					<variable name="Suffix">
						<assign range="^PAS-|PART-PERF"><null/></assign>
						<assign range="ACT-IND-PRES">
							<list>
								<literal value="a"/>
								<literal value="is"/>
								<literal value="iþ"/>
								<literal value="os"/>
								<literal value="ats"/>
								<null/>
								<literal value="am"/>
								<literal value="iþ"/>
								<literal value="and"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<literal value="au"/>
								<literal value="ais"/>
								<literal value="ai"/>
								<literal value="aiwa"/>
								<literal value="aits"/>
								<null/>
								<literal value="aima"/>
								<literal value="aiþ"/>
								<literal value="aina"/>
							</list>
						</assign>
						<assign range="IMP">
							<list>
								<null/>
								<literal value=""/>
								<literal value="adau"/>
								<null/>
								<literal value="ats"/>
								<null/>
								<literal value="am"/>
								<literal value="iþ"/>
								<literal value="andau"/>
							</list>
						</assign>
						<assign range="INF|PART-PRES"> 
							<list>
								<literal value="an"/>
								<literal value="ands"/>
							</list>
						</assign>
					</variable>
				</paradigm>
			</class>

			<class name="V.prt.-prs." description="Preterite-presents (‘Die Verba präterito-präsentia haben Perfektform aber Präsensbedeutung’) [St §220; BE §196]" inherits="Verb">
				<!--
					“These verbs were originally unreduplicated perfects which acquired a pres. meaning like 
					Skr. vḗda, Gr. οἶδα, Lat. nōvī, I know, to which a new weak preterite [...], an infinitive, 
					and a pres. participle were formed in the prim. Germanic period.” [Wright 1954, p. 161]
				-->
				<functions>
					<function name="Phonology">
						<rgx pattern="{D}t$" replace="st"/>
						&nn-Reduction;
					</function>
				</functions>
				<paradigm>
					<variable name="Root">
						<assign><null/></assign>
					</variable>
					<variable name="Suffix">
						<assign range="ACT-IND-PRES">
							<list>
								<emptystring/>
								<literal value="t"/>
								<emptystring/>
								<literal value="u"/>
								<literal value="uts"/>
								<null/>
								<literal value="um"/>
								<literal value="uþ"/>
								<literal value="un"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRES">
							<list>
								<literal value="jau"/>
								<literal value="eis"/>
								<literal value="i"/>
								<null/>
								<literal value="eits"/>
								<null/>
								<literal value="eima"/>
								<literal value="eiþ"/>
								<literal value="eina"/>
							</list>
						</assign>
						<assign range="ACT-IND-PRET">
							<list>
								<literal value="a"/>
								<literal value="es"/>
								<literal value="a"/>
								<literal value="edu"/>
								<literal value="eduts"/>
								<null/>
								<literal value="edum"/>
								<literal value="eduþ"/>
								<literal value="edun"/>
							</list>
						</assign>
						<assign range="ACT-OPT-PRET">
							<list>
								<literal value="edjau"/>
								<literal value="edeis"/>
								<literal value="edi"/>
								<null/>
								<literal value="edeits"/>
								<null/>
								<literal value="edeima"/>
								<literal value="edeiþ"/>
								<literal value="edeina"/>
							</list>
						</assign>
						<assign range="^PAS-"><null/></assign>
						<assign range="IMP"><null/></assign>
						<assign range="INF"><literal value="an"/></assign>
						<assign range="PART-PRES"><literal value="ands"/></assign>
						<assign range="PART-PERF"><literal value="s"/></assign>
					</variable>
				</paradigm>
				<conditions>
				<!-- 1. Ablautreihe -->
					<when parameter="Lemma" matches="^(.*-)?witan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="wait"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="wit"/></assign>
							<assign range="ACT-.*-PRET"><literal value="wiss"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^lais$">
						<override name="Root"><assign><null/></assign></override>
						<override name="Suffix"><assign><null/></assign></override>
						<override name="Form">
							<assign><null/></assign>
							<assign range="ACT-IND-PRES-SING-1">
								<literal value="lais"/>
							</assign>
						</override>
					</when>
					<!-- 2. Ablautreihe -->
					<when parameter="Lemma" matches="^daug$">
						<override name="Root"><assign><null/></assign></override>
						<override name="Suffix"><assign><null/></assign></override>
						<override name="Form">
							<assign><null/></assign>
							<assign range="ACT-IND-PRES-SING-3">
								<param name="Lemma"/>
							</assign>
						</override>
					</when>
					<!-- 3. Ablautreihe -->
					<when parameter="Lemma" matches="^(.*-)?kunnan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="kann"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="kunn"/></assign>
							<assign range="ACT-.*-PRET|PART-PERF"><literal value="kunþ"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^(.*-)?þaurban$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="þarf"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="þaurb"/></assign>
							<assign range="ACT-.*-PRET|PART-PERF"><literal value="þaurft"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^(.*-)?daursan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="dars"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="daurs"/></assign>
							<assign range="ACT-.*-PRET"><literal value="daurst"/></assign>
						</override>
					</when>
					<!-- 4. Ablautreihe -->
					<when parameter="Lemma" matches="^(.*-)?munan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="man"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="mun"/></assign>
							<assign range="ACT-.*-PRET|PART-PERF"><literal value="mund"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^(.*-)?skulan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="skal"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="skul"/></assign>
							<assign range="ACT-.*-PRET|PART-PERF"><literal value="skuld"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^ga-nah$">
						<override name="Root"><assign><null/></assign></override>
						<override name="Suffix"><assign><null/></assign></override>
						<override name="Form">
							<assign><null/></assign>
							<assign range="ACT-IND-PRES-SING-3">
								<literal value="ganah"/>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^bi-nah$">
						<override name="Root"><assign><null/></assign></override>
						<override name="Suffix"><assign><null/></assign></override>
						<override name="Form">
							<assign><null/></assign>
							<assign range="ACT-IND-PRES-SING-3">
								<literal value="binah"/>
							</assign>
							<assign range="PART-PERF">
								<literal value="binauhts"/>
							</assign>
						</override>
					</when>
					<!-- 6. Ablautreihe -->
					<when parameter="Lemma" matches="^(.*-)?motan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="mot"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="mot"/></assign>
							<assign range="ACT-.*-PRET"><literal value="most"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^(.*-)?ogan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="og"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="og"/></assign>
							<assign range="ACT-.*-PRET"><literal value="oht"/></assign>
						</override>
						<override name="Form">
							<!-- 
								St p. 157: “Die 2. Person Imper. ‘ogs’ ist ursprünglich eine 2. Sing. Konjunktiv;
								sie steht nur in der Verbindung ‘ni ogs þus’ ‘fürchte dich nicht’ [...]” 
							-->
							<assign range="IMP-PRES-SING-2">
								<literal value="ogs"/>
							</assign>
						</override>
					</when>
					<!-- “Aus dem Schema der Ablautsreihen fallen zwei Präteritopräsentia heraus:” [St §221]-->
					<when parameter="Lemma" matches="^(.*-)?magan$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="mag"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="mag"/></assign>
							<assign range="ACT-.*-PRET|PART-PERF"><literal value="maht"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^(.*-)?ai[gh]an$">
						<override name="Root">
							<assign range="ACT-IND-PRES-SING"><literal value="aih"/></assign>
							<assign range="ACT-(IND-PRES-(DUAL|PLUR)|OPT)|INF|PART-PRES"><literal value="aig|aih" type="expression"/></assign>
							<assign range="ACT-.*-PRET"><literal value="aiht"/></assign>
						</override>
					</when>
				</conditions>
			</class>
			
			<class name="Pers.Pron" description="Personal pronouns (‘ungeschlechtige Pronomina’) [St §164; BE §150]" tagset="Pronoun1">
				<parameters>
					<parameter name="Lemma" pattern="^(ik|þu|sik|ikei|þuei)$" default="ik"/>
				</parameters>
				<paradigm>
					<variable name="Form"/>
				</paradigm>
				<conditions>
					<when parameter="Lemma" matches="^ik$">
						<override name="Form">
							<assign>
								<list>
									<literal value="ik"/>
									<literal value="mik"/>
									<literal value="mis"/>
									<literal value="meina"/>
									<literal value="wit"/>
									<literal value="ugkis"/>
									<literal value="ugkis"/>
									<null/>
									<literal value="weis"/>
									<literal value="uns|unsis" type="expression"/>
									<literal value="unsis|uns" type="expression"/>
									<literal value="unsara"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^ikei$">
						<override name="Form">
							<assign>
								<null/>
							</assign>
							<assign range="NOM-SING">
								<literal value="ikei"/>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^þu$">
						<override name="Form">
							<assign>
								<list>
									<literal value="þu"/>
									<literal value="þuk"/>
									<literal value="þus"/>
									<literal value="þeina"/>
									<null/>
									<literal value="igqis"/>
									<literal value="igqis"/>
									<literal value="igqara"/>
									<literal value="jus"/>
									<literal value="izwis"/>
									<literal value="izwis"/>
									<literal value="izwara"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^þuei$">
						<override name="Form">
							<assign>
								<list>
									<literal value="þuei"/>
									<literal value="þukei"/>
									<literal value="þuzei"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="juzei"/>
									<null/>
									<literal value="izwizei"/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^sik$">
						<override name="Form">
							<assign>
								<list>
									<null/>
									<literal value="sik"/>
									<literal value="sis"/>
									<literal value="seina"/>
									<null/>
									<literal value="sik"/>
									<literal value="sis"/>
									<literal value="seina"/>
									<null/>
									<literal value="sik"/>
									<literal value="sis"/>
									<literal value="seina"/>
								</list>
							</assign>
						</override>
					</when>
				</conditions>
			</class>
			
			<class name="Pron." description="Enumeration of selected pronominal declensions [St §165-178; BE §152-166]" tagset="Pronoun2">
				<parameters>
					<parameter name="Lemma" default="sa"/>
				</parameters>
				<paradigm>
					<variable name="Form"/>
				</paradigm>
				<conditions>
					<when parameter="Lemma" matches="^is$">
						<override name="Form">
							<assign>
								<list>
									<literal value="is"/>
									<literal value="ina"/>
									<literal value="imma"/>
									<literal value="is"/>
									<literal value="eis"/>
									<literal value="ins"/>
									<literal value="im"/>
									<literal value="ize"/>
									<literal value="si"/>
									<literal value="ija"/>
									<literal value="izai"/>
									<literal value="izos"/>
									<literal value="ijos"/>
									<literal value="ijos"/>
									<literal value="im"/>
									<literal value="izo"/>
									<literal value="ita"/>
									<literal value="ita"/>
									<literal value="imma"/>
									<literal value="is"/>
									<null/>
									<literal value="ija"/>
									<literal value="ija"/>
									<literal value="im"/>
									<literal value="ize"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^sa$">
						<override name="Form">
							<assign>
								<list>
									<literal value="sa"/>
									<literal value="þana"/>
									<literal value="þamma"/>
									<literal value="þis"/>
									<literal value="þai"/>
									<literal value="þans"/>
									<literal value="þaim"/>
									<literal value="þize"/>
									<literal value="so"/>
									<literal value="þo"/>
									<literal value="þizai"/>
									<literal value="þizos"/>
									<literal value="þos"/>
									<literal value="þos"/>
									<literal value="þaim"/>
									<literal value="þizo"/>
									<literal value="þata"/>
									<literal value="þata"/>
									<literal value="þamma"/>
									<literal value="þis"/>
									<literal value="þe"/>
									<literal value="þo"/>
									<literal value="þo"/>
									<literal value="þaim"/>
									<literal value="þize"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^sah$">
						<override name="Form">
							<assign>
								<list>
									<literal value="sah"/>
									<literal value="þanuh"/>
									<literal value="þammuh"/>
									<literal value="þizuh"/>
									<literal value="þaih"/>
									<literal value="þanzuh"/>
									<null/>
									<null/>
									<literal value="soh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="þatuh"/>
									<literal value="þatuh"/>
									<literal value="þammuh"/>
									<literal value="þizuh"/>
									<null/>
									<literal value="þoh"/>
									<literal value="þoh"/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^saei$">
						<override name="Form">
							<assign>
								<list>
									<literal value="saei"/>
									<literal value="þanei"/>
									<literal value="þammei"/>
									<literal value="þizei"/>
									<literal value="þaiei"/>
									<literal value="þanzei"/>
									<literal value="þaimei"/>
									<literal value="þizeei"/>
									<literal value="soei"/>
									<literal value="þoei"/>
									<literal value="þizaiei"/>
									<literal value="þizozei"/>
									<literal value="þozei"/>
									<literal value="þozei"/>
									<literal value="þaimei"/>
									<null/>
									<literal value="þatei"/>
									<literal value="þatei"/>
									<literal value="þammei"/>
									<literal value="þizei"/>
									<null/>
									<literal value="þoei"/>
									<literal value="þoei"/>
									<literal value="þaimei"/>
									<literal value="þizeei"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^&#x195;as$">
						<override name="Form">
							<assign>
								<list>
									<literal value="&#x195;as"/>
									<literal value="&#x195;ana"/>
									<literal value="&#x195;amma"/>
									<literal value="&#x195;is"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="&#x195;o"/>
									<literal value="&#x195;o"/>
									<literal value="&#x195;izai"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="&#x195;a"/>
									<literal value="&#x195;a"/>
									<literal value="&#x195;amma"/>
									<literal value="&#x195;is"/>
									<literal value="&#x195;e"/>
									<null/>
									<null/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^&#x195;azuh$">
						<override name="Form">
							<assign>
								<list>
									<literal value="&#x195;azuh"/>
									<literal value="&#x195;anoh"/>
									<literal value="&#x195;ammeh"/>
									<literal value="&#x195;izuh"/>
									<null/>
									<literal value="&#x195;anzuh"/>
									<null/>
									<null/>
									<literal value="&#x195;oh"/>
									<literal value="&#x195;oh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="&#x195;ah"/>
									<literal value="&#x195;ah"/>
									<literal value="&#x195;ammeh"/>
									<literal value="&#x195;izuh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^sa&#x195;azuh$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="sa&#x195;azuh"/></assign>
							<assign range="NEUT-(NOM|ACC)-SING"><literal value="þata&#x195;ah"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^þis&#x195;azuh$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="þis&#x195;azuh"/></assign>
							<assign range="MASC-ACC-SING"><literal value="þis&#x195;anoh"/></assign>
							<assign range="MASC-DAT-SING"><literal value="þis&#x195;ammeh"/></assign>
							<assign range="NEUT-(NOM|ACC)-SING"><literal value="þis&#x195;ah"/></assign>
							<assign range="NEUT-GEN-SING"><literal value="þis&#x195;izuh"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^&#x195;arjizuh$">
						<override name="Form">
							<assign>
								<list>
									<literal value="&#x195;arjizuh"/>
									<literal value="&#x195;arjanoh"/>
									<literal value="&#x195;arjammeh"/>
									<literal value="&#x195;arjizuh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="&#x195;arjoh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="&#x195;arjatoh"/>
									<null/>
									<literal value="&#x195;arjammeh"/>
									<literal value="&#x195;izuh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^ain&#x195;arjizuh$">
						<override name="Form">
							<assign>
								<list>
									<literal value="ain&#x195;arjizuh"/>
									<literal value="ain&#x195;arjanoh"/>
									<literal value="ain&#x195;arjammeh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="ain&#x195;arjoh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="ain&#x195;arjatoh"/>
									<literal value="ain&#x195;arjatoh"/>
									<literal value="ain&#x195;arjammeh"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^&#x195;aþaruh$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="&#x195;aþaruh"/></assign>
							<assign range="MASC-DAT-SING"><literal value="&#x195;aþarammeh"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^ain&#x195;aþaruh$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="ain&#x195;aþaruh"/></assign>
							<assign range="MASC-DAT-SING"><literal value="ain&#x195;aþarammeh"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^mannahun$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="mannahun"/></assign>
							<assign range="MASC-ACC-SING"><literal value="mannanhun"/></assign>
							<assign range="MASC-DAT-SING"><literal value="mannhun"/></assign>
							<assign range="MASC-GEN-SING"><literal value="manshun"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^&#x195;ashun$">
						<override name="Form">
							<assign range="*"><null/></assign>
							<assign range="MASC-NOM-SING"><literal value="&#x195;ashun"/></assign>
						</override>
					</when>
					<when parameter="Lemma" matches="^ainshun$">
						<override name="Form">
							<assign>
								<list>
									<literal value="ainshun"/>
									<literal value="ainohun|ainnohun" type="expression"/>
									<literal value="ainummehun|ainomehun" type="expression"/>
									<literal value="ainishun"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="ainohun"/>
									<literal value="ainohun"/>
									<literal value="ainaihun"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="ainhun"/>
									<literal value="ainhun"/>
									<literal value="ainummehun"/>
									<literal value="ainishun"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
				</conditions>
			</class>
			<class name="Num.1" description="“Die drei ersten Zahlen sind in allen Kasus und Geschlechtern deklinierbar.” [BE §140]" tagset="Numeral1">
				<parameters>
					<parameter name="Lemma" default="twai"/>
				</parameters>
				<paradigm>
					<variable name="Form"/>
				</paradigm>
				<conditions>
					<when parameter="Lemma" matches="twai">
						<override name="Form">
							<assign>
								<list>
									<literal value="twai"/>
									<literal value="twans"/>
									<literal value="twaim"/>
									<literal value="twaddje"/>
									<literal value="twos"/>
									<literal value="twos"/>
									<literal value="twaim"/>
									<null/>
									<literal value="twa"/>
									<literal value="twa"/>
									<literal value="twaim"/>
									<literal value="twaddje"/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="bai">
						<override name="Form">
							<assign>
								<list>
									<literal value="bai"/>
									<literal value="bans"/>
									<literal value="baim"/>
									<null/>
									<null/>
									<null/>
									<null/>
									<null/>
									<literal value="ba"/>
									<literal value="ba"/>
									<null/>
									<null/>
								</list>
							</assign>
						</override>
					</when>
					<when parameter="Lemma" matches="þreis">
						<override name="Form">
							<assign>
								<list>
									<literal value="[þreis]"/>
									<literal value="þrins"/>
									<literal value="þrim"/>
									<literal value="þrije"/>
									<literal value="[þreis]"/>
									<literal value="þrins"/>
									<null/>
									<null/>
									<literal value="þrija"/>
									<literal value="[þrija]"/>
									<literal value="[þrim]"/>
									<literal value="[þrije]"/>
								</list>
							</assign>
						</override>
					</when>
				</conditions>
			</class>
			<class name="Num.2" description="“Die Zahlen 4-19 sind eingeschlechtig. [...] Diese Zahlen werden unflektiert gebraucht, im Gen. und Dat. können sie jedoch flektierte Formen [...] bilden.” [BE §141]" tagset="Numeral2">
				<parameters>
					<parameter name="Lemma" default="fidwor"/>
				</parameters>
				<functions>
					<function name="DeriveRoot">
						&CancelFinalDevoicing;
					</function>
				</functions>
				<paradigm>
					<variable name="Suffix">
						<assign>
							<list>
								<null/>
								<literal value="im"/>
								<literal value="e"/>
							</list>
						</assign>
					</variable>
					<variable name="Root">
						<assign>
							<apply-function name="DeriveRoot">
								<param name="Lemma"/>
							</apply-function>
						</assign>
					</variable>
					<variable name="Form">
						<assign>
							<param name="Lemma"/>
						</assign>
						<assign range="DAT|GEN">
							<concatenation>
								<var name="Root"/>
								<var name="Suffix"/>
							</concatenation>
						</assign>
					</variable>
				</paradigm>
			</class>
		</classes>
	</morphology>
</gomorph>
