mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-13 00:50:11 -06:00
101 lines
2.4 KiB
Plaintext
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 } ;
|
|
|
|
} |