mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-28 05:03:42 -06:00
simplifications
This commit is contained in:
@@ -8,14 +8,45 @@ concrete ConjunctionKaz of Conjunction = CatKaz ** open ResKaz in {
|
|||||||
lin
|
lin
|
||||||
BaseNP x y = {s1=\\c => x.s ! c;s2=\\c => y.s ! c;a={p=P3;n=Pl}} ;
|
BaseNP x y = {s1=\\c => x.s ! c;s2=\\c => y.s ! c;a={p=P3;n=Pl}} ;
|
||||||
ConsNP x xs = {s1=\\c => x.s ! c ++ "," ++ xs.s1 ! c;s2=xs.s2;a={p=P3;n=Pl}} ;
|
ConsNP x xs = {s1=\\c => x.s ! c ++ "," ++ xs.s1 ! c;s2=xs.s2;a={p=P3;n=Pl}} ;
|
||||||
ConjNP c xs = {s=\\k => coord c.s (xs.s1 ! k) (xs.s2 ! k);a=xs.a} ;
|
ConjNP c xs = {
|
||||||
BaseAP x y = {s1=x.s;s2=y.s} ; ConsAP x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
s=\\k => xs.s1 ! k ++ c.s ++ xs.s2 ! k;
|
||||||
ConjAP c xs = {s=coord c.s xs.s1 xs.s2} ;
|
a=xs.a
|
||||||
BaseAdv x y = {s1=x.s;s2=y.s} ; ConsAdv x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
} ;
|
||||||
ConjAdv c xs = {s=coord c.s xs.s1 xs.s2} ;
|
BaseAP x y = {s1=x.s;s2=y.s} ;
|
||||||
BaseS x y = {s1=x.s;s2=y.s} ; ConsS x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
ConsAP x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
||||||
ConjS c xs = {s=coord c.s xs.s1 xs.s2} ;
|
ConjAP c xs = {s=xs.s1 ++ c.s ++ xs.s2} ;
|
||||||
BaseCN x y = {s1=x;s2=y} ; ConsCN x xs = {s1=x;s2=xs.s2} ;
|
BaseAdv x y = {
|
||||||
ConjCN c xs = {s=\\k,n => coord c.s (xs.s1.s ! k ! n) (xs.s2.s ! k ! n);
|
s1=x.s;
|
||||||
poss=\\o,p,n => coord c.s (xs.s1.poss ! o ! p ! n) (xs.s2.poss ! o ! p ! n)} ;
|
s2=y.s
|
||||||
|
} ;
|
||||||
|
ConsAdv x xs = {
|
||||||
|
s1=x.s ++ "," ++ xs.s1;
|
||||||
|
s2=xs.s2
|
||||||
|
} ;
|
||||||
|
ConjAdv c xs = {
|
||||||
|
s=xs.s1 ++ c.s ++ xs.s2
|
||||||
|
} ;
|
||||||
|
BaseS x y = {
|
||||||
|
s1=x.s;
|
||||||
|
s2=y.s
|
||||||
|
} ;
|
||||||
|
ConsS x xs = {
|
||||||
|
s1=x.s ++ "," ++ xs.s1;
|
||||||
|
s2=xs.s2
|
||||||
|
} ;
|
||||||
|
ConjS c xs = {
|
||||||
|
s=xs.s1 ++ c.s ++ xs.s2
|
||||||
|
} ;
|
||||||
|
BaseCN x y = {
|
||||||
|
s1=x;
|
||||||
|
s2=y
|
||||||
|
} ;
|
||||||
|
ConsCN x xs = {
|
||||||
|
s1=x;
|
||||||
|
s2=xs.s2
|
||||||
|
} ;
|
||||||
|
ConjCN c xs = {
|
||||||
|
s=\\k,n => xs.s1.s ! k ! n ++ c.s ++ xs.s2.s ! k ! n;
|
||||||
|
poss=\\o,p,n => xs.s1.poss ! o ! p ! n ++ c.s ++ xs.s2.poss ! o ! p ! n
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-2
@@ -7,7 +7,19 @@ concrete IdiomKaz of Idiom = CatKaz ** open ResKaz, ParadigmsKaz in {
|
|||||||
fut=\\_ => ip.s ++ "болады";cond=\\_ => ip.s ++ "болар еді";anter=\\_ => ip.s ++ "болған"} ;
|
fut=\\_ => ip.s ++ "болады";cond=\\_ => ip.s ++ "болар еді";anter=\\_ => ip.s ++ "болған"} ;
|
||||||
ImpersCl vp = mkClause {s=\\_ => [];a=defaultAgr} vp ;
|
ImpersCl vp = mkClause {s=\\_ => [];a=defaultAgr} vp ;
|
||||||
GenericCl vp = mkClause {s=\\_ => "адам";a=defaultAgr} vp ;
|
GenericCl vp = mkClause {s=\\_ => "адам";a=defaultAgr} vp ;
|
||||||
CleftNP np rs = stringClause (np.s ! Nom ++ rs.s) ;
|
CleftNP np rs = {
|
||||||
CleftAdv adv s = stringClause (adv.s ++ s.s) ;
|
pres=\\_ => np.s ! Nom ++ rs.s;
|
||||||
|
past=\\_ => np.s ! Nom ++ rs.s;
|
||||||
|
fut=\\_ => np.s ! Nom ++ rs.s;
|
||||||
|
cond=\\_ => np.s ! Nom ++ rs.s;
|
||||||
|
anter=\\_ => np.s ! Nom ++ rs.s
|
||||||
|
} ;
|
||||||
|
CleftAdv adv s = {
|
||||||
|
pres=\\_ => adv.s ++ s.s;
|
||||||
|
past=\\_ => adv.s ++ s.s;
|
||||||
|
fut=\\_ => adv.s ++ s.s;
|
||||||
|
cond=\\_ => adv.s ++ s.s;
|
||||||
|
anter=\\_ => adv.s ++ s.s
|
||||||
|
} ;
|
||||||
ImpPl1 vp = {s=vp.imperative!Pos!Informal!Pl} ;
|
ImpPl1 vp = {s=vp.imperative!Pos!Informal!Pl} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -393,10 +393,4 @@ oper mkClause : NPForm -> Verb -> Clause = \np,vp -> {
|
|||||||
anter = \\pol => np.s ! Nom ++ selectVerb vp P.Past P.Anter pol np.a
|
anter = \\pol => np.s ! Nom ++ selectVerb vp P.Past P.Anter pol np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
oper stringClause : Str -> Clause = \s -> {
|
|
||||||
pres=\\_ => s; past=\\_ => s; fut=\\_ => s; cond=\\_ => s; anter=\\_ => s
|
|
||||||
} ;
|
|
||||||
|
|
||||||
oper coord : Str -> Str -> Str -> Str = \c,x,y -> x ++ c ++ y ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user