1
0
forked from GitHub/gf-rgl

(Ara) Low-level hacks for overriding verb agreement and word order

This commit is contained in:
Inari Listenmaa
2018-11-30 13:08:18 +01:00
parent 73771e317b
commit 51f6d6247c

View File

@@ -150,6 +150,16 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
Verb2 : Type = Verb ** {c2 : Preposition} ; Verb2 : Type = Verb ** {c2 : Preposition} ;
Verb3 : Type = Verb2 ** {c3 : Preposition} ; Verb3 : Type = Verb2 ** {c3 : Preposition} ;
-- Sometimes a verb is only used in one form (per3 masc sg);
-- ideally, one would use an impersonal syntactic construction,
-- less ideally, hardcode the verb to only contain forms of one person.
forcePerson : PerGenNum -> Verb -> Verb = \pgn,verb -> verb ** {
s = \\vf => case vf of {
VPerf v _ => verb.s ! VPerf v pgn ;
VImpf m v _ => verb.s ! VImpf m v pgn ;
_ => verb.s ! vf }
} ;
AP : Type = {s : Species => Gender => NTable } ; AP : Type = {s : Species => Gender => NTable } ;
uttAP : AP -> (Gender => Str) ; uttAP : AP -> (Gender => Str) ;
uttAP ap = \\g => ap.s ! NoHum ! g ! Sg ! Def ! Nom ; ----IL uttAP ap = \\g => ap.s ! NoHum ! g ! Sg ! Def ! Nom ; ----IL
@@ -1701,6 +1711,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
Cl : Type = {s : Tense => Polarity => Order => Str} ; Cl : Type = {s : Tense => Polarity => Order => Str} ;
QCl : Type = {s : Tense => Polarity => QForm => Str} ; QCl : Type = {s : Tense => Polarity => QForm => Str} ;
-- To override the default order; forces all orders in a Cl to be the chosen order.
forceOrder : Order -> Cl -> Cl = \o,cl -> forceOrder : Order -> Cl -> Cl = \o,cl ->
{s = \\t,p,_ => cl.s ! t ! p ! o} ; {s = \\t,p,_ => cl.s ! t ! p ! o} ;