Files
gf-rgl/src/basque/ParamEus.gf

101 lines
2.4 KiB
Plaintext

resource ParamEus = ParamX ** open Prelude in {
param
ClType = Stat | Indir | Qst ;
-- Every verb has some fully inflecting part:
-- if the whole verb is one of these synthetic verbs, then there won't be a participle
-- (or it's only in some tenses/persons/something).
-- AditzTrinkoak has all the inflection tables fully spelt out,
-- and here we just make nice neat set of parameters that go into the verbs.
SyntVerb1 = Izan | Egon | Ibili | Etorri | Joan ;
SyntVerb2 = Ukan | Jakin | Eduki ; --TODO others
AuxType = Da SyntVerb1
| Du SyntVerb2
| Zaio | Dio ; --always Ukan ?
AuxForm = APres | ACond | APast | AImp ; -- TODO: subjunctive & potential
{-
Type of adjectival phrase, e.g.
kale txiki+a [APType = Bare]
itsaso+ra+ko kale+a [APType = Ko]
-}
APType = Ko | Bare ;
AForm = AF Degree | AAdv ;
Bizi = Inan | Anim ;
Case = Abs | Erg | Dat | Par -- Core argument cases
| Gen | Soc | Ins | Ine -- Irregular stems
| LocStem ; -- LocStem is inessive without -an; many other cases use same stem!
-- Degree = Posit | Compar | Superl | Excess ;
CardOrd = NCard | NOrd ;
Gender = Masc | Fem ;
Agr = Ni | Hi Gender | Zu | Hau | Gu | Zuek | Hauek ;
Phono = FinalA | FinalR | FinalCons | FinalVow ;
oper
-- Opers to manipulate params.
sgAgr : Agr -> Agr = \agr ->
case agr of { Gu => Ni ;
Zuek => Zu ;
Hauek => Hau ;
agr => agr } ;
plAgr : Agr -> Agr = \agr ->
case agr of { Ni => Gu ;
Zu => Zuek ;
Hi _ => Zuek ;
Hau => Hauek ;
agr => agr } ;
getNum : Agr -> Number = \np ->
case np of {
(Ni|Hi _|Zu|Hau) => Sg ;
(Gu|Zuek|Hauek) => Pl
} ;
getPers : Agr -> Person = \np ->
case np of {
(Ni|Gu) => P1 ;
(Hi _ |Zu|Zuek) => P2 ;
(Hau|Hauek) => P3
} ;
subjCase : AuxType -> Case = \val ->
case val of {
Da _ => Abs ;
Zaio => Dat ;
_ => Erg } ;
isSynthetic : AuxType -> Bool = \val ->
case val of {
Da Izan => False ;
Du Ukan => False ;
Zaio => False ;
Dio => False ;
_ => True } ;
defaultAux : AuxType -> AuxType = \val ->
case val of {
Da _ => Da Izan ;
Du _ => Du Ukan ;
x => x } ;
}