mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-28 13:13:39 -06:00
simplifications
This commit is contained in:
@@ -8,14 +8,45 @@ concrete ConjunctionKaz of Conjunction = CatKaz ** open ResKaz in {
|
||||
lin
|
||||
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}} ;
|
||||
ConjNP c xs = {s=\\k => coord c.s (xs.s1 ! k) (xs.s2 ! k);a=xs.a} ;
|
||||
BaseAP x y = {s1=x.s;s2=y.s} ; ConsAP x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
||||
ConjAP c xs = {s=coord c.s xs.s1 xs.s2} ;
|
||||
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} ;
|
||||
BaseS x y = {s1=x.s;s2=y.s} ; ConsS x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
||||
ConjS c xs = {s=coord c.s xs.s1 xs.s2} ;
|
||||
BaseCN x y = {s1=x;s2=y} ; ConsCN x xs = {s1=x;s2=xs.s2} ;
|
||||
ConjCN c xs = {s=\\k,n => coord c.s (xs.s1.s ! k ! n) (xs.s2.s ! k ! n);
|
||||
poss=\\o,p,n => coord c.s (xs.s1.poss ! o ! p ! n) (xs.s2.poss ! o ! p ! n)} ;
|
||||
ConjNP c xs = {
|
||||
s=\\k => xs.s1 ! k ++ c.s ++ xs.s2 ! k;
|
||||
a=xs.a
|
||||
} ;
|
||||
BaseAP x y = {s1=x.s;s2=y.s} ;
|
||||
ConsAP x xs = {s1=x.s ++ "," ++ xs.s1;s2=xs.s2} ;
|
||||
ConjAP c xs = {s=xs.s1 ++ c.s ++ xs.s2} ;
|
||||
BaseAdv x y = {
|
||||
s1=x.s;
|
||||
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 ++ "болған"} ;
|
||||
ImpersCl vp = mkClause {s=\\_ => [];a=defaultAgr} vp ;
|
||||
GenericCl vp = mkClause {s=\\_ => "адам";a=defaultAgr} vp ;
|
||||
CleftNP np rs = stringClause (np.s ! Nom ++ rs.s) ;
|
||||
CleftAdv adv s = stringClause (adv.s ++ s.s) ;
|
||||
CleftNP np rs = {
|
||||
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} ;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
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