forked from GitHub/gf-core
Sindhi-resource-grammar
This commit is contained in:
90
lib/src/sindhi/RelativeSnd.gf
Normal file
90
lib/src/sindhi/RelativeSnd.gf
Normal file
@@ -0,0 +1,90 @@
|
||||
concrete RelativeSnd of Relative = CatSnd ** open ResSnd in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
coding = utf8;
|
||||
|
||||
lin
|
||||
|
||||
RelCl cl = {
|
||||
s = \\t,p,o,agr => case <t,giveNumber agr,giveGender agr> of {
|
||||
<VPImpPast,Sg,_> => "جھنکی" ++ cl.s ! t ! p ! o ;
|
||||
<VPImpPast,Pl,_> => "جھنجو" ++ cl.s ! t ! p ! o ;
|
||||
<_,Sg,Masc> => "جیھڙو" ++ cl.s ! t ! p ! o ;
|
||||
<_,Sg,Fem> => "جیھڙا" ++ cl.s ! t ! p ! o ;
|
||||
<_,Pl,Masc> => "جیھڙا" ++ cl.s ! t ! p ! o ;
|
||||
<_,Pl,Fem> => "جیھڙیون" ++ cl.s ! t ! p ! o
|
||||
};
|
||||
c = Dir
|
||||
} ;
|
||||
-- RelVP and RelSlash slows the linking process a lot this is why it is commented for test purposes
|
||||
|
||||
RelVP rp vp = {
|
||||
s = \\t,p,o,ag =>
|
||||
let
|
||||
agr = case rp.a of {
|
||||
RNoAg => ag ;
|
||||
RAg a => a
|
||||
} ;
|
||||
cl = mkSClause (rp.s ! (giveNumber agr) ! (giveGender agr) ! Dir) agr vp;
|
||||
|
||||
-- cl = case t of {
|
||||
-- VPImpPast => mkSClause (rp.s ! (giveNumber agr) ! Obl) agr vp;
|
||||
-- _ => mkSClause (rp.s ! (giveNumber agr) ! Dir) agr vp
|
||||
-- };
|
||||
in
|
||||
cl.s ! t ! p ! ODir ;
|
||||
c = Dir
|
||||
} ;
|
||||
|
||||
|
||||
---- Pied piping: "ات whiچh wع ارع looڪiنگ". Stranding and empty
|
||||
---- relative are defined in $ExtraHin.gf$ ("تhات wع ارع looڪiنگ ات",
|
||||
---- "wع ارع looڪiنگ ات").
|
||||
--
|
||||
RelSlash rp slash = {
|
||||
s = \\t,p,o,agr => rp.s ! (giveNumber agr) ! (giveGender agr) ! Obl ++ slash.c2.s ++ slash.s ! t ! p ! o ;
|
||||
c = Dir
|
||||
} ;
|
||||
|
||||
FunRP p np rp = {
|
||||
s = \\n,g,c => rp.s ! n ! g ! c ++ np.s ! NPC c ++ p.s ;
|
||||
a = RAg np.a
|
||||
} ;
|
||||
|
||||
IdRP = {
|
||||
s = table {
|
||||
Sg => table {
|
||||
Masc => table {
|
||||
|
||||
ResSnd.Dir => "جھڙا" ;
|
||||
ResSnd.Obl => "جنھن" ;
|
||||
ResSnd.Voc => "جھڙی" ;
|
||||
ResSnd.Abl => "جھڙی"
|
||||
};
|
||||
Fem => table {
|
||||
|
||||
ResSnd.Dir => "جھڙی" ;
|
||||
ResSnd.Obl => "جنھن" ;
|
||||
ResSnd.Voc => "جھڙی" ;
|
||||
ResSnd.Abl => "جھڙی"
|
||||
}
|
||||
};
|
||||
Pl => table {
|
||||
Masc => table {
|
||||
ResSnd.Dir => "جھڙی" ;
|
||||
ResSnd.Obl => "جھڙی" ;
|
||||
ResSnd.Voc => "جھڙی" ;
|
||||
ResSnd.Abl => "جھڙی"
|
||||
};
|
||||
Fem => table {
|
||||
ResSnd.Dir => "جھڙی" ;
|
||||
ResSnd.Obl => "جھڙی" ;
|
||||
ResSnd.Voc => "جھڙی" ;
|
||||
ResSnd.Abl => "جھڙی"
|
||||
}
|
||||
}
|
||||
};
|
||||
a = RNoAg
|
||||
} ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user