forked from GitHub/gf-core
86 lines
1.7 KiB
Plaintext
86 lines
1.7 KiB
Plaintext
--1 German parameters
|
|
--
|
|
-- This module defines the parameter types specific to German.
|
|
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
|
--
|
|
|
|
resource ParamGer = ParamX ** {
|
|
|
|
--2 For $Noun$
|
|
|
|
-- These are the standard four-value case and three-value gender.
|
|
|
|
param
|
|
Case = Nom | Acc | Dat | Gen ;
|
|
Gender = Masc | Fem | Neutr ;
|
|
|
|
-- Complex $CN$s, like adjectives, have strong and weak forms.
|
|
|
|
Adjf = Strong | Weak ;
|
|
|
|
-- Gender distinctions are only made in the singular.
|
|
|
|
GenNum = GSg Gender | GPl ;
|
|
|
|
-- The predicative form of adjectives is not inflected further.
|
|
|
|
AForm = APred | AMod Adjf GenNum Case ;
|
|
|
|
|
|
---- Agreement of $NP$ is a record. We'll add $Gender$ later.
|
|
--
|
|
-- oper
|
|
-- Agr = {n : Number ; p : Person} ;
|
|
--
|
|
-- param
|
|
-- Gender = Neutr | Masc | Fem ;
|
|
--
|
|
--2 For $Verb$
|
|
|
|
VForm =
|
|
VInf
|
|
| VPresInd Number Person
|
|
| VPresSubj Number Person
|
|
| VImper Number
|
|
| VImpfInd Number Person
|
|
| VImpfSubj Number Person
|
|
| VPresPart AForm
|
|
| VPastPart AForm ;
|
|
|
|
|
|
---- Only these five forms are needed for open-lexicon verbs.
|
|
--
|
|
-- param
|
|
-- VForm = VInf | VPres | VPast | VPPart | VPresPart ;
|
|
--
|
|
---- The order of sentence is needed already in $VP$.
|
|
--
|
|
-- Order = ODir | OQuest ;
|
|
--
|
|
--
|
|
----2 For $Adjective$
|
|
--
|
|
-- AForm = AAdj Degree | AAdv ;
|
|
--
|
|
----2 For $Relative$
|
|
--
|
|
-- RAgr = RNoAg | RAg {n : Number ; p : Person} ;
|
|
--
|
|
----2 For $Numeral$
|
|
--
|
|
-- CardOrd = NCard | NOrd ;
|
|
-- DForm = unit | teen | ten ;
|
|
--
|
|
----2 Transformations between parameter types
|
|
--
|
|
-- oper
|
|
-- agrP3 : Number -> Agr = \n ->
|
|
-- {n = n ; p = P3} ;
|
|
--
|
|
-- conjAgr : Agr -> Agr -> Agr = \a,b -> {
|
|
-- n = conjNumber a.n b.n ;
|
|
-- p = conjPerson a.p b.p
|
|
-- } ;
|
|
--
|
|
}
|