mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-27 20:06:29 -06:00
Oridnal numerals added ; many fixes
This commit is contained in:
+10
-31
@@ -4,45 +4,28 @@ lin
|
||||
-- : Adv -> S -> S ; -- then I will go home
|
||||
AdvS adv s = {s=\\m => adv.s ++ s.s ! m} ;
|
||||
-- : Adv -> S -> S ; -- next week, I will go home
|
||||
ExtAdvS adv s = {s=\\m => adv.s ++ comma ++ s.s ! m} ; -- TODO: what is the case for this? embed in commas?
|
||||
ExtAdvS adv s = {s=\\m => adv.s ++ comma ++ s.s ! m} ;
|
||||
|
||||
-- : Temp -> Pol -> Cl -> S ; -- she had not slept - она не спала
|
||||
UseCl temp pol cl = {
|
||||
s = table {
|
||||
Infinitive => let parts = R.verbAgr cl.verb Infinitive temp.t cl.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||
Ind => let parts = R.verbAgr cl.verb Ind temp.t cl.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||
-- temp.s ++ cl.adv ++ pol.s ++ parts.p1 ++ parts.p2 ++ cl.dep ++ cl.subj ++ cl.compl ;
|
||||
Sbjv => let parts = R.verbAgr cl.verb Sbjv temp.t cl.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl ;
|
||||
Imperative => let parts = R.verbAgr cl.verb Imperative temp.t cl.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl
|
||||
}
|
||||
s : Mood => Str = \\m => temp.s ++ (R.verbEnvAgr cl.subj cl.adv cl.verb m temp.t cl.a pol) ++ cl.dep ++ cl.compl ;
|
||||
} ;
|
||||
|
||||
-- : Temp -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseRCl temp pol rcl = {
|
||||
s = \\gn,anim,cas =>
|
||||
let a : Agr = fromMaybe Agr (genNumAgrP3 gn) rcl.a in
|
||||
let parts = R.verbAgr rcl.verb Ind temp.t a pol.p in
|
||||
temp.s ++ parts.p1 ++ rcl.subj ! gn ! anim ! Nom ++ rcl.adv ! (genNumAgrP3 gn) ++ pol.s ++ parts.p2 ++ rcl.dep ++ rcl.compl ! (genNumAgrP3 gn)
|
||||
temp.s
|
||||
++ (R.verbEnvAgr (rcl.subj ! gn ! anim ! Nom) (rcl.adv ! (genNumAgrP3 gn)) rcl.verb Ind temp.t a pol)
|
||||
++ rcl.dep ++ rcl.compl ! (genNumAgrP3 gn)
|
||||
} ;
|
||||
|
||||
-- : Temp -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
UseSlash temp pol cls = {
|
||||
s = table {
|
||||
Infinitive => let parts = R.verbAgr cls.verb Infinitive temp.t cls.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cls.subj ++ pol.s ++ cls.adv ++ parts.p2 ++ cls.dep ++ cls.compl ;
|
||||
Ind => let parts = R.verbAgr cls.verb Ind temp.t cls.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cls.subj ++ pol.s ++ cls.adv ++ parts.p2 ++ cls.dep ++ cls.compl ;
|
||||
Sbjv => let parts = R.verbAgr cls.verb Sbjv temp.t cls.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cls.subj ++ pol.s ++ cls.adv ++ parts.p2 ++ cls.dep ++ cls.compl ;
|
||||
Imperative => let parts = R.verbAgr cls.verb Imperative temp.t cls.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cls.subj ++ pol.s ++ cls.adv ++ parts.p2 ++ cls.dep ++ cls.compl
|
||||
} ;
|
||||
s : Mood => Str = \\m => temp.s
|
||||
++ (R.verbEnvAgr cls.subj cls.adv cls.verb m temp.t cls.a pol) ++ cls.dep ++ cls.compl ;
|
||||
c=cls.c
|
||||
} ;
|
||||
} ;
|
||||
|
||||
-- : NP -> VPSlash -> ClSlash ; -- (whom) he sees
|
||||
SlashVP np vps = {
|
||||
@@ -92,8 +75,7 @@ lin
|
||||
s = \\polarity, gn =>
|
||||
let pol = case polarity of {Neg => PNeg; Pos => PPos} in
|
||||
let a = Ag gn P2 in
|
||||
let parts = R.verbAgr vp.verb Imperative Pres a pol.p in
|
||||
parts.p1 ++ pol.s ++ parts.p2 ++ vp.dep ++ vp.adv ! a ++ vp.compl ! a
|
||||
(R.verbEnvAgr "" "" vp.verb Imperative Pres a pol) ++ vp.adv ! a ++ vp.compl ! a
|
||||
} ;
|
||||
|
||||
-- : NP -> VP -> Cl ; -- John walks - Иван гуляет
|
||||
@@ -121,10 +103,7 @@ lin
|
||||
|
||||
-- : Temp -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseQCl temp pol cl = {
|
||||
s = table {_ =>
|
||||
let parts = R.verbAgr cl.verb Ind temp.t cl.a pol.p in
|
||||
temp.s ++ parts.p1 ++ cl.subj ++ pol.s ++ cl.adv ++ parts.p2 ++ cl.dep ++ cl.compl
|
||||
}
|
||||
s = \\qf => temp.s ++ (R.verbEnvAgr cl.subj cl.adv cl.verb Ind temp.t cl.a pol) ++ cl.dep ++ cl.compl
|
||||
} ;
|
||||
|
||||
-- : QS -> SC ; -- who goes
|
||||
|
||||
Reference in New Issue
Block a user