diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-27 09:18:50 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-27 09:18:50 +0000 |
| commit | 5c713d8f027a9b6be687ee3f7e917e8bd2115773 (patch) | |
| tree | 65da19829810b753345a5b2164bef2d8876268dd /old-examples/urduhindi/UrduHindi.gf | |
| parent | f7b2a83059697f1b36a6369e489ac276e7ff875d (diff) | |
took away old-examples
Diffstat (limited to 'old-examples/urduhindi/UrduHindi.gf')
| -rw-r--r-- | old-examples/urduhindi/UrduHindi.gf | 259 |
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}; -} |
