;    mmorph, MULTEXT morphology tool
;    Version 2.3, October 1995
;    Copyright (c) 1994,1995 ISSCO/SUISSETRA, Geneva, Switzerland
;    Dominique Petitpierre, <petitp@divsun.unige.ch>

;    Example rules for a german: substantives

; declaration of lexical and surface alphabet
@ Alphabets

lexical	: a b c d e f g h i j k l m n o p q r s t u v w x y z
	  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                
	  umlautable_a umlautable_o umlautable_u
	  umlautable_A umlautable_O umlautable_U

surface	: a b c d e f g h i j k l m n o p q r s t u v w x y z
	  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
	        

; Declarations of attribute with their possible values
@ Attributes
    Genus : maskulinum femininum neutrum none
    Numerus : singular plural none
    Kasus : nominativ genitiv dativ akkusativ none
    Form : stem surface
    Singulartyp : s1 s2 s3	; Duden s. 234
    Pluraltyp : p1 p2 p3 p4 p5	; Duden s. 239
    AdjKlasse : farbe none
    CausesUmlaut : yes no

; Declarations of category types with their associated attribute list
; the bar | separates the attributes to keep from those to throw away
@ Types
    Substantiv : Genus Numerus Kasus | Singulartyp Pluraltyp Form
    SubstantivFlexion : Genus Numerus Kasus Singulartyp Pluraltyp
    Adjektiv : Genus Numerus Kasus | AdjKlasse  Form
    AdjSubstSuffix : Singulartyp Pluraltyp AdjKlasse CausesUmlaut

; Composition rules
@ Grammar

Substantiv : Substantiv[Form=surface]
Adjektiv : Adjektiv[Form=surface]

Deklination : Substantiv[ Genus=$1 Numerus=$2 Kasus=$3
			  Singulartyp=$4 Pluraltyp=$5 Form=surface ]
	    <- Substantiv[ Numerus=singular Kasus=nominativ Genus=$1
			   Singulartyp=$4 Pluraltyp=$5 ]
	       SubstantivFlexion[ Numerus=$2 Kasus=$3
			          Singulartyp=$4 Pluraltyp=$5]

Derivation : Substantiv[ Genus=$1 Numerus=singular Kasus=nominativ
			 Singulartyp=$4 Pluraltyp=$5 Form=surface ]
	    <- Adjektiv[ Numerus=singular Kasus=nominativ Genus=$1
			 AdjKlasse=$6 ]
	       AdjSubstSuffix[ AdjKlasse=$6 Singulartyp=$4 Pluraltyp=$5 ]

FarbAdj    : Substantiv[ Genus=$1 Numerus=singular Kasus=nominativ
			 Singulartyp=s1 Pluraltyp=p3 Form=surface ]
	    <- Adjektiv[ Numerus=singular Kasus=nominativ Genus=$1
			 AdjKlasse=farbe Form=surface ]

;FarbNoun   : Adjektiv[ Numerus=singular Kasus=nominativ Genus=maskulinum
;			 AdjKlasse=farbe Form=surface ]
;	    <- Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ
;			 Singulartyp=s1 Pluraltyp=p3 Form=surface ]

; singular Duden s. 234
s1_genitiv  :  "es" SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s1]
s1_dativ    :  "e" SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s1]
s1_akkusativ:  ""  SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s1]
s2_genitiv  :  "en" SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s2]
s2_dativ    :  "en" SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s2]
s2_akkusativ:  "en" SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s2]
s3_genitiv  :  ""  SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s3]
s3_dativ    :  ""  SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s3]
s3_akkusativ:  ""  SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s3]

; plural  Duden s. 238
p1_nominativ:  "e" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p1]
p1_genitiv  :  "e" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p1]
p1_dativ    :  "en" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p1]
p1_akkusativ:  "e" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p1]
p2_nominativ:  ""  SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p2]
p2_genitiv  :  ""  SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p2]
p2_dativ    :  "n"  SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p2]
p2_akkusativ:  "" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p2]
p3_nominativ:  "en" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p3]
p3_genitiv  :  "en" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p3]
p3_dativ    :  "en" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p3]
p3_akkusativ:  "en" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p3]
p4_nominativ:  "er" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p4]
p4_genitiv  :  "er" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p4]
p4_dativ    :  "ern" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p4]
p4_akkusativ:  "er" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p4]
p5_nominativ:  "s" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p5]
p5_genitiv  :  "s" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p5]
p5_dativ    :  "s" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p5]
p5_akkusativ:  "s" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p5]

adjderiv1   :  ""     AdjSubstSuffix[ AdjKlasse=farbe  CausesUmlaut=no
			              Singulartyp=s1  Pluraltyp=p3]

adjderiv2   :  "heit" AdjSubstSuffix[ AdjKlasse=none CausesUmlaut=no
				      Singulartyp=s3  Pluraltyp=p3 ]

@ Classes

lnr: l n r

@ Pairs

Dont_umlaut:
    a/umlautable_a
    u/umlautable_u
    o/umlautable_o
    A/umlautable_A
    U/umlautable_U
    O/umlautable_O

Do_umlaut:
    /umlautable_a
    /umlautable_u
    /umlautable_o
    /umlautable_A
    /umlautable_U
    /umlautable_O

Vokal: a e i o u    
    /umlautable_a
    /umlautable_u
    /umlautable_o

Delete_e: <>/e

Capitalize:
    A/a B/b C/c D/d E/e F/f G/g H/h I/i J/j K/k L/l M/m N/n O/o
    P/p Q/q R/r S/s T/t U/u V/v W/w X/x Y/y Z/z

@ Spelling

Default_umlautable: =>
    - Dont_umlaut -

Umlauting: <=>
    - Do_umlaut -
    SubstantivFlexion[Numerus=plural] AdjSubstSuffix[CausesUmlaut=yes]


Delete_e: <=>
    e * - Delete_e -

D2: <=>
    l i n g * - Delete_e -

D3: <=>
    l e i n * - Delete_e -

D4: <=>
    e lnr * - Delete_e -

D5: <=>
    Vokal h * - Delete_e -

D6: <=>
    Vokal * - Delete_e - s

D7: <=>
    c k * - Delete_e -

D8: <=>
    * + - Delete_e - s AdjSubstSuffix[AdjKlasse=farbe]

D9: <=>
    * + - Delete_e - ~ AdjSubstSuffix[AdjKlasse=farbe]

Capitalize: <=>
    ~ - Capitalize - AdjSubstSuffix[]

; Lexical entries (stems and also some surface Forms)
@ Lexicon

	Adjektiv[ Genus=maskulinum Numerus=singular Kasus=nominativ AdjKlasse=farbe Form=surface ]
"grn"
	Adjektiv[ Genus=maskulinum Numerus=singular Kasus=nominativ AdjKlasse=none Form=surface ]
"kl&umlautable_a;r" = "klar"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"H&umlautable_a;nd" = "Hand"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p2 Form=surface ]
"M&umlautable_u;tter" = "Mutter"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p3 Form=surface ]
"Frau"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p5 Form=surface ]
"Oma"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"Tag"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p2 Form=surface ]
"&umlautable_A;pfel" = "Apfel"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p3 Form=surface ]
"Staat"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p4 Form=surface ]
"M&umlautable_a;nn" = "Mann"
"W&umlautable_a;ld" = "Wald"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p5 Form=surface ]
"Opa"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s2 Pluraltyp=p3 Form=surface ]
"Mensch"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"Jahr"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p2 Form=surface ]
"Segel"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p3 Form=surface ]
"Auge"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p4 Form=surface ]
"Bild"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p5 Form=surface ]
"Deck"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p1 Form=surface ]
"Kr&umlautable_a;ft" = "Kraft"
	
