mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
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.
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ canon2canon abs =
|
|||||||
(c, M.ModMod $ M.replaceJudgements mo $ mapTree f2 js)
|
(c, M.ModMod $ M.replaceJudgements mo $ mapTree f2 js)
|
||||||
_ -> (c,m)
|
_ -> (c,m)
|
||||||
j2j cg (f,j) = case j of
|
j2j cg (f,j) = case j of
|
||||||
CncFun x (Yes tr) z -> (f,CncFun x (Yes (trace ("\n" ++ prt f) (t2t tr))) z)
|
CncFun x (Yes tr) z -> (f,CncFun x (Yes (trace ("+ " ++ prt f) (t2t tr))) z)
|
||||||
CncCat (Yes ty) (Yes x) y -> (f,CncCat (Yes (ty2ty ty)) (Yes (t2t x)) y)
|
CncCat (Yes ty) (Yes x) y -> (f,CncCat (Yes (ty2ty ty)) (Yes (t2t x)) y)
|
||||||
_ -> (f,j)
|
_ -> (f,j)
|
||||||
where
|
where
|
||||||
@@ -493,7 +493,7 @@ term2term cgr env@(labels,untyps,typs) tr = case tr of
|
|||||||
(FV ts,_) -> ts
|
(FV ts,_) -> ts
|
||||||
_ -> [tr]
|
_ -> [tr]
|
||||||
valNumFV ts = case ts of
|
valNumFV ts = case ts of
|
||||||
[tr] -> error (prt tr) ----- prtTrace tr $ K "66667"
|
[tr] -> error ("valNum" +++ prt tr) ----- prtTrace tr $ K "66667"
|
||||||
_ -> FV $ map valNum ts
|
_ -> FV $ map valNum ts
|
||||||
|
|
||||||
mkCurry trm = case trm of
|
mkCurry trm = case trm of
|
||||||
|
|||||||
Reference in New Issue
Block a user