forked from GitHub/gf-rgl
temporary work-around of gfcc generation bug in resource-1.4 grammars
This commit is contained in:
@@ -75,7 +75,8 @@ resource ResHin = ParamX ** open Prelude in {
|
|||||||
mkVerb : (x1,_,_,_,_,_,_,_,_,_,_,_,_,_,x15 : Str) -> Verb =
|
mkVerb : (x1,_,_,_,_,_,_,_,_,_,_,_,_,_,x15 : Str) -> Verb =
|
||||||
\inf,stem,ims,imp,ifs,ifp,pms,pmp,pfs,pfp,ss1,ss2,sp2,sp3,r -> {
|
\inf,stem,ims,imp,ifs,ifp,pms,pmp,pfs,pfp,ss1,ss2,sp2,sp3,r -> {
|
||||||
s =
|
s =
|
||||||
let ga : Number -> Gender -> Str = \n,g -> (regAdjective "ga:").s ! g ! n ! Dir
|
let ga : Number -> Gender -> Str = \n,g ->
|
||||||
|
(regAdjective "ga:").s ! g ! n ! Dir
|
||||||
in table {
|
in table {
|
||||||
VInf => inf ;
|
VInf => inf ;
|
||||||
VStem => stem ;
|
VStem => stem ;
|
||||||
@@ -273,11 +274,22 @@ resource ResHin = ParamX ** open Prelude in {
|
|||||||
mkClause : NP -> VPH -> Clause = \np,vp -> {
|
mkClause : NP -> VPH -> Clause = \np,vp -> {
|
||||||
s = \\vt,b =>
|
s = \\vt,b =>
|
||||||
let
|
let
|
||||||
|
subjagr : NPCase * Agr = case vt of {
|
||||||
|
VPPerf => case vp.subj of {
|
||||||
|
VTrans => <NPErg, vp.obj.a> ;
|
||||||
|
VTransPost => <NPErg, defaultAgr> ;
|
||||||
|
_ => <NPC Dir, np.a>
|
||||||
|
} ;
|
||||||
|
_ => <NPC Dir, np.a>
|
||||||
|
} ;
|
||||||
|
|
||||||
|
{- ----- this provokes a bug in gfcc AR 24/5/2008
|
||||||
subjagr : NPCase * Agr = case <vp.subj,vt> of {
|
subjagr : NPCase * Agr = case <vp.subj,vt> of {
|
||||||
<VTrans,VPPerf> => <NPErg, vp.obj.a> ;
|
<VTrans,VPPerf> => <NPErg, vp.obj.a> ;
|
||||||
<VTransPost,VPPerf> => <NPErg, defaultAgr> ;
|
<VTransPost,VPPerf> => <NPErg, defaultAgr> ;
|
||||||
_ => <NPC Dir, np.a>
|
_ => <NPC Dir, np.a>
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
subj = subjagr.p1 ;
|
subj = subjagr.p1 ;
|
||||||
agr = subjagr.p2 ;
|
agr = subjagr.p2 ;
|
||||||
vps = vp.s ! b ! VPTense vt agr ;
|
vps = vp.s ! b ! VPTense vt agr ;
|
||||||
|
|||||||
@@ -33,10 +33,19 @@ resource ParamX = open Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
conjNumber : Number -> Number -> Number = \m,n ->
|
conjNumber : Number -> Number -> Number = \m,n ->
|
||||||
|
case m of {
|
||||||
|
Sg => n ;
|
||||||
|
_ => Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
{- ----- this provokes a bug in gfcc AR 24/5/2008
|
||||||
|
|
||||||
|
conjjNumber : Number -> Number -> Number = \m,n ->
|
||||||
case <m,n> of {
|
case <m,n> of {
|
||||||
<Sg,Sg> => Sg ;
|
<Sg,Sg> => Sg ;
|
||||||
_ => Pl
|
_ => Pl
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
-- For persons, we let the latter argument win ("either you or I am absent"
|
-- For persons, we let the latter argument win ("either you or I am absent"
|
||||||
-- but "either I or you are absent"). This is not quite clear.
|
-- but "either I or you are absent"). This is not quite clear.
|
||||||
|
|||||||
Reference in New Issue
Block a user