summaryrefslogtreecommitdiff
path: root/old-examples/urduhindi/UrduHindi.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-27 09:18:50 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-27 09:18:50 +0000
commit5c713d8f027a9b6be687ee3f7e917e8bd2115773 (patch)
tree65da19829810b753345a5b2164bef2d8876268dd /old-examples/urduhindi/UrduHindi.gf
parentf7b2a83059697f1b36a6369e489ac276e7ff875d (diff)
took away old-examples
Diffstat (limited to 'old-examples/urduhindi/UrduHindi.gf')
-rw-r--r--old-examples/urduhindi/UrduHindi.gf259
1 files changed, 0 insertions, 259 deletions
diff --git a/old-examples/urduhindi/UrduHindi.gf b/old-examples/urduhindi/UrduHindi.gf
deleted file mode 100644
index 4aded6051..000000000
--- a/old-examples/urduhindi/UrduHindi.gf
+++ /dev/null
@@ -1,259 +0,0 @@
---# -path=.:../abstract:../common:../../prelude
-concrete UrduHindi of UrduHindiAbs = open ResUrdHin, Prelude in {
- flags coding=utf8 ; optimize=all;
-
-lincat
- N = {s : NounForm => Str; h1: Gender} ;
- PN = {s : ProperNounForm => Str; h1: Gender} ;
- Adj = {s : AdjForm => Str} ;
- Adj1 = {s : AdjForm1 => Str} ;
- AdjD = {s : AdjDegForm => Str} ;
- Verb_Aux = {s : Verb_AuxForm => Str} ;
- Verb = {s : VerbForm => Str} ;
- Verb1 = {s : VerbForm1 => Str} ;
- Verb2 = {s : VerbForm2 => Str} ;
- Verb3 = {s : VerbForm3 => Str} ;
- RelPron3 = {s : RelPronForm3 => Str} ;
- RelPron2 = {s : RelPronForm2 => Str} ;
- RelPron1 = {s : RelPronForm1 => Str} ;
- RelPron = {s : RelPronForm => Str} ;
- IndefPron2 = {s : IndefPronForm2 => Str} ;
- IndefPron1 = {s : IndefPronForm1 => Str} ;
- IndefPron = {s : IndefPronForm => Str} ;
- InterPron3 = {s : InterrPronForm3 => Str} ;
- InterPron2 = {s : InterrPronForm2 => Str} ;
- InterPron1 = {s : InterrPronForm1 => Str} ;
- InterPron = {s : InterrPronForm => Str} ;
- RefPron = {s : RefPronForm => Str} ;
- PersPron = {s : PersPronForm => Str} ;
- PossPron = {s : PossPronForm => Str} ;
- DemPron = {s : DemPronForm => Str; h1 : Person} ;
- PossPostPos = {s : PossivePostPForm => Str} ;
- Num = { s : NumeralForm => Str ; h1 : Number };
- Adv, Conj, Neg, Quest, Intjunc, PostP, Part = SS ;
-
- NP = {s : Case => Str ; n : Number ; p : Person ; g : Gender } ;
- CN = {s : Number => Case => Str ; g : Gender} ;
- VP = {s : Tense_Aux => Person => Number => Gender=> Str} ;
- S = {s: Str};
-
-lin
- --VP
- --UseV : Verb_Aux -> VP;
- UseV va = { s = \\t,p,n,g => va.s ! VA t p n g };
-
-
- --UseVVAux : Verb -> Verb_Aux -> VP;
- UseVVAux v va =
- { s = \\t,p,n,g => v.s ! Inf ++ va.s ! VA t p n g
- };
-
-
- --UseN x = x;
- UseN x =
- { s = \\n,c => x.s ! NF n c ;
- g = x.h1
- } ;
-
- DetN_Pers1 pron cn =
- { s = \\n,c => pron.s ! PossF n Pers1 cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
- DetN_Pers2Casual pron cn =
- { s = \\n,c => pron.s ! PossF n Pers2_Casual cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
- DetN_Pers2Familiar pron cn =
- { s = \\n,c => pron.s ! PossF n Pers2_Familiar cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
- DetN_Pers2Respect pron cn =
- { s = \\n,c => pron.s ! PossF n Pers2_Respect cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
- DetN_Pers3Near pron cn =
- { s = \\n,c => pron.s ! PossF n Pers3_Near cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
- DetN_Pers3Distant pron cn =
- { s = \\n,c => pron.s ! PossF n Pers3_Distant cn.g ++ cn.s ! n ! c ;
- g = cn.g
- } ;
-
-
- --DetCN3 : CN -> NP;
- DetCN3Sg cn =
- { s = \\c => case c of {
- Nom => cn.s ! Sg ! Nom ;
- Obl => cn.s ! Sg ! Obl ;
- Voc => []
- };
- n = Sg;
- p = Pers3_Near ; --does not mean any thing
- g = cn.g
- } ;
- DetCN3Pl cn =
- { s = \\c => case c of {
- Nom => cn.s ! Pl ! Nom ;
- Obl => cn.s ! Pl ! Obl ;
- Voc => []
- };
- n = Pl ;
- p = Pers3_Near ; --does not mean any thing
- g = cn.g
- } ;
-
- DetCN num cn =
- { s = \\c => case c of {
- Nom => num.s ! NumeralF ++ cn.s ! num.h1 ! Nom ;
- Obl => num.s ! NumeralF ++ cn.s ! num.h1 ! Obl ;
- Voc => []
- };
- n = num.h1;
- p = Pers3_Near ;
- g = cn.g
- } ;
-
- DetCN1Sg wo cn =
- { s = \\c => case c of {
- Nom => wo.s ! DPF Sg Nom ++ cn.s ! Sg ! Nom ;
- Obl => [] ;
- Voc => []
-
- };
- n = Sg;
- p = wo.h1 ;
- g = cn.g
- } ;
-
- DetCN1Pl wo cn =
- { s = \\c => case c of {
- Nom => wo.s ! DPF Pl Nom ++ cn.s ! Pl ! Nom ;
- Obl => [] ;
- Voc => []
- };
- n = Pl;
- p = wo.h1 ;
- g = cn.g
- } ;
- -- wh ayk ktab
- DetCN2 wo num cn =
- { s = \\c => case c of {
- Nom => wo.s ! DPF num.h1 Nom ++ num.s ! NumeralF ++ cn.s ! num.h1 ! Nom ;
- Obl => wo.s ! DPF num.h1 Obl ++ num.s ! NumeralF ++ cn.s ! num.h1 ! Obl ;
- Voc => []
- };
- n = num.h1;
- p = wo.h1 ;
- g = cn.g
- } ;
-
- UsePN pn =
- { s = \\c => pn.s ! PNF c ;
- n = Sg ;
- p = Pers3_Near ; --could be Pers3_distant, does not really matter
- g = pn.h1
- } ;
- UsePN1 wo pn =
- { s = \\c => wo.s ! DPF Sg Nom ++ pn.s ! PNF c ;
- n = Sg ;
- p = wo.h1 ;
- g = pn.h1
- } ;
-
-
---UsePron : PersPron -> NP
- UsePronSgP1M pp =
- { s = \\c => pp.s ! PPF Sg Pers1 c ; n = Sg ; p = Pers1 ; g = Masc };
- UsePronSgP1F pp =
- { s = \\c => pp.s ! PPF Sg Pers1 c ; n = Sg ; p = Pers1 ; g = Fem };
- UsePronPlP1M pp =
- { s = \\c => pp.s ! PPF Pl Pers1 c ; n = Pl ; p = Pers1 ; g = Masc };
- UsePronPlP1F pp =
- { s = \\c => pp.s ! PPF Pl Pers1 c ; n = Pl ; p = Pers1 ; g = Fem };
- UsePronSgP2CM pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Casual c ; n = Sg ; p = Pers2_Casual ; g = Masc };
- UsePronSgP2CF pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Casual c ; n = Sg ; p = Pers2_Casual ; g = Fem };
- UsePronPlP2CM pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Casual c ; n = Pl ; p = Pers2_Casual ; g = Masc };
- UsePronPlP2CF pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Casual c ; n = Pl ; p = Pers2_Casual ; g = Fem };
- UsePronSgP2FM pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Familiar c ; n = Sg ; p = Pers2_Familiar ; g = Masc };
- UsePronSgP2FF pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Familiar c ; n = Sg ; p = Pers2_Familiar ; g = Fem };
- UsePronPlP2FM pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Familiar c ; n = Pl ; p = Pers2_Familiar ; g = Masc };
- UsePronPlP2FF pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Familiar c ; n = Pl ; p = Pers2_Familiar ; g = Fem };
- UsePronSgP2RM pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Respect c ; n = Sg ; p = Pers2_Respect ; g = Masc };
- UsePronSgP2RF pp =
- { s = \\c => pp.s ! PPF Sg Pers2_Respect c ; n = Sg ; p = Pers2_Respect ; g = Fem };
- UsePronPlP2RM pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Respect c ; n = Pl ; p = Pers2_Respect ; g = Masc };
- UsePronPlP2RF pp =
- { s = \\c => pp.s ! PPF Pl Pers2_Respect c ; n = Pl ; p = Pers2_Respect ; g = Fem };
- UsePronSgP3NM pp =
- { s = \\c => pp.s ! PPF Sg Pers3_Near c ; n = Sg ; p = Pers3_Near ; g = Masc };
- UsePronSgP3NF pp =
- { s = \\c => pp.s ! PPF Sg Pers3_Near c ; n = Sg ; p = Pers3_Near ; g = Fem };
- UsePronPlP3NM pp =
- { s = \\c => pp.s ! PPF Pl Pers3_Near c ; n = Pl ; p = Pers3_Near ; g = Masc };
- UsePronPlP3NF pp =
- { s = \\c => pp.s ! PPF Pl Pers3_Near c ; n = Pl ; p = Pers3_Near ; g = Fem };
- UsePronSgP3DM pp =
- { s = \\c => pp.s ! PPF Sg Pers3_Distant c ; n = Sg ; p = Pers3_Distant ; g = Masc };
- UsePronSgP3DF pp =
- { s = \\c => pp.s ! PPF Sg Pers3_Distant c ; n = Sg ; p = Pers3_Distant ; g = Fem };
- UsePronPlP3DM pp =
- { s = \\c => pp.s ! PPF Pl Pers3_Distant c ; n = Pl ; p = Pers3_Distant ; g = Masc };
- UsePronPlP3DF pp =
- { s = \\c => pp.s ! PPF Pl Pers3_Distant c ; n = Pl ; p = Pers3_Distant ; g = Fem };
-
-
- UsePastS np va = { s = np.s ! Nom ++ va.s ! Past ! np.p ! np.n ! np.g } ;
- UsePresS np va = { s = np.s ! Nom ++ va.s ! Present ! np.p ! np.n ! np.g } ;
- UseFutS np va = { s = np.s ! Nom ++ va.s ! Future ! np.p ! np.n ! np.g } ;
-
- UseNPSg np cn = {
- s = \\c => np.s ! Obl ++ "کو" ++ cn.s ! Sg ! c ;
- n = Sg;
- p = Pers3_Near ;
- g = cn.g
- };
-
- UseNPPl np cn = {
- s = \\c => np.s ! Obl ++ "کو" ++ cn.s ! Pl ! c ;
- n = Pl;
- p = Pers3_Near ;
- g = cn.g
- };
-
- UsePronVVAuxPast np vp = {
- s = np.s ! Obl ++ "کو" ++ vp.s ! Past ! np.p ! np.n ! np.g
- };
- UsePronVVAuxPres np vp = {
- s = np.s ! Obl ++ "کو" ++ vp.s ! Present ! np.p ! np.n ! np.g
- };
- UsePronVVAuxFut np vp = {
- s = np.s ! Obl ++ "کو" ++ vp.s ! Future ! np.p ! np.n ! np.g
- };
-
- UseSPast np vp = {
- s = np.s ! Nom ++ vp.s ! Past ! np.p ! np.n ! np.g
- };
-
- --Present
- UseSPres np vp = {
- s = np.s ! Nom ++ vp.s ! Present ! np.p ! np.n ! np.g
- };
-
- --Future
- UseSFut np vp = {
- s = np.s ! Nom ++ vp.s ! Future ! np.p ! np.n ! np.g
- };
-
- UseS s1 conj s2 = {s = s1.s ++ conj.s ++ s2.s};
-}