1
0
forked from GitHub/gf-rgl

converted Hindi to the revised encoding

This commit is contained in:
aarne
2008-06-15 15:55:49 +00:00
parent dc7a7867e3
commit 70844224a1
3 changed files with 51 additions and 51 deletions

View File

@@ -20,7 +20,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- become_VA = mkVA (irregV "become" "became" "become") ; -- become_VA = mkVA (irregV "become" "became" "become") ;
-- beer_N = regN "beer" ; -- beer_N = regN "beer" ;
-- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ; -- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
big_A = mkA "baRa:" ; big_A = mkA "baRA" ;
-- bike_N = regN "bike" ; -- bike_N = regN "bike" ;
-- bird_N = regN "bird" ; -- bird_N = regN "bird" ;
-- black_A = regADeg "black" ; -- black_A = regADeg "black" ;
@@ -29,8 +29,8 @@ concrete LexiconHin of Lexicon = CatHin **
-- book_N = regN "book" ; -- book_N = regN "book" ;
-- boot_N = regN "boot" ; -- boot_N = regN "boot" ;
-- boss_N = mkN human (regN "boss") ; -- boss_N = mkN human (regN "boss") ;
boy_N = mkN "laRka:" ; boy_N = mkN "lar.kA" ;
bread_N = mkN "roTi:" ; bread_N = mkN "rot.I" ;
-- break_V2 = dirV2 (irregV "break" "broke" "broken") ; -- break_V2 = dirV2 (irregV "break" "broke" "broken") ;
-- broad_A = regADeg "broad" ; -- broad_A = regADeg "broad" ;
-- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ; -- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ;
@@ -66,7 +66,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- door_N = regN "door" ; -- door_N = regN "door" ;
-- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ; -- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
-- easy_A2V = mkA2V (regA "easy") forP ; -- easy_A2V = mkA2V (regA "easy") forP ;
eat_V2 = mkV2 "Ka:" ; eat_V2 = mkV2 "KA" ;
-- empty_A = regADeg "empty" ; -- empty_A = regADeg "empty" ;
-- enemy_N = regN "enemy" ; -- enemy_N = regN "enemy" ;
-- factory_N = regN "factory" ; -- factory_N = regN "factory" ;
@@ -81,10 +81,10 @@ concrete LexiconHin of Lexicon = CatHin **
-- fruit_N = regN "fruit" ; -- fruit_N = regN "fruit" ;
-- fun_AV = mkAV (regA "fun") ; -- fun_AV = mkAV (regA "fun") ;
-- garden_N = regN "garden" ; -- garden_N = regN "garden" ;
girl_N = mkN "laRki:" ; girl_N = mkN "lar.kI" ;
-- glove_N = regN "glove" ; -- glove_N = regN "glove" ;
-- gold_N = regN "gold" ; -- gold_N = regN "gold" ;
good_A = mkA "acCa:" ; good_A = mkA "a-cCA" ;
go_V = mkV "cal" ; go_V = mkV "cal" ;
-- green_A = regADeg "green" ; -- green_A = regADeg "green" ;
-- harbour_N = regN "harbour" ; -- harbour_N = regN "harbour" ;
@@ -109,7 +109,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- leave_V2 = dirV2 (irregV "leave" "left" "left") ; -- leave_V2 = dirV2 (irregV "leave" "left" "left") ;
-- like_V2 = dirV2 (regV "like") ; -- like_V2 = dirV2 (regV "like") ;
-- listen_V2 = prepV2 (regV "listen") toP ; -- listen_V2 = prepV2 (regV "listen") toP ;
live_V = mkV "Cu:" ; ---- touch live_V = mkV "CU" ; ---- touch
-- long_A = regADeg "long" ; -- long_A = regADeg "long" ;
-- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ; -- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
-- love_N = regN "love" ; -- love_N = regN "love" ;
@@ -143,7 +143,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- radio_N = regN "radio" ; -- radio_N = regN "radio" ;
-- rain_V0 = mkV0 (regV "rain") ; -- rain_V0 = mkV0 (regV "rain") ;
-- read_V2 = dirV2 (irregV "read" "read" "read") ; -- read_V2 = dirV2 (irregV "read" "read" "read") ;
red_A = mkA "la:l" ; red_A = mkA "lAl" ;
-- religion_N = regN "religion" ; -- religion_N = regN "religion" ;
-- restaurant_N = regN "restaurant" ; -- restaurant_N = regN "restaurant" ;
-- river_N = regN "river" ; -- river_N = regN "river" ;
@@ -315,7 +315,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- laugh_V = regV "laugh" ; -- laugh_V = regV "laugh" ;
-- lie_V = IrregHin.lie_V ; -- lie_V = IrregHin.lie_V ;
-- play_V = regV "play" ; -- play_V = regV "play" ;
sew_V = mkV "si:" ; sew_V = mkV "sI" ;
-- sing_V = IrregHin.sing_V ; -- sing_V = IrregHin.sing_V ;
-- sit_V = IrregHin.sit_V ; -- sit_V = IrregHin.sit_V ;
-- smell_V = regV "smell" ; -- smell_V = regV "smell" ;
@@ -332,7 +332,7 @@ concrete LexiconHin of Lexicon = CatHin **
-- cut_V2 = dirV2 IrregHin.cut_V ; -- cut_V2 = dirV2 IrregHin.cut_V ;
-- fear_V2 = dirV2 (regV "fear") ; -- fear_V2 = dirV2 (regV "fear") ;
-- fight_V2 = dirV2 fight_V ; -- fight_V2 = dirV2 fight_V ;
hit_V2 = mkV2 (mkV "ma:r") "ko" ; hit_V2 = mkV2 (mkV "mAr") "ko" ;
-- hold_V2 = dirV2 hold_V ; -- hold_V2 = dirV2 hold_V ;
-- hunt_V2 = dirV2 (regV "hunt") ; -- hunt_V2 = dirV2 (regV "hunt") ;
-- kill_V2 = dirV2 (regV "kill") ; -- kill_V2 = dirV2 (regV "kill") ;

View File

@@ -23,20 +23,20 @@ resource ResHin = ParamX ** open Prelude in {
} ; } ;
reggNoun : Str -> Gender -> Noun = \s,g -> case <s,g> of { reggNoun : Str -> Gender -> Noun = \s,g -> case <s,g> of {
<-(_ + ("a:" | "i:")), Fem> => <-(_ + ("A" | "I")), Fem> =>
mkNoun s s s (s + "e~") (s + "o~") (s + "o") Fem ; mkNoun s s s (s + "eM") (s + "oM") (s + "o") Fem ;
_ => regNoun s ** {g = g} _ => regNoun s ** {g = g}
} ; } ;
regNoun : Str -> Noun = \s -> case s of { regNoun : Str -> Noun = \s -> case s of {
x + "iya:" => x + "iyA" =>
mkNoun s s s (x + "iya:~") (x + "iyo*") (x + "iyo") Fem ; mkNoun s s s (x + "iyAM") (x + "iyoN") (x + "iyo") Fem ;
x + "a:" => x + "A" =>
mkNoun s (x + "e") (x + "e") (x + "e") (x + "o*") (x + "o") Masc ; mkNoun s (x + "e") (x + "e") (x + "e") (x + "oN") (x + "o") Masc ;
x + "i:" => x + "I" =>
mkNoun s s s (x + "iya:~") (x + "iyo*") (x + "iyo") Fem ; mkNoun s s s (x + "iyAM") (x + "iyoN") (x + "iyo") Fem ;
_ => _ =>
mkNoun s s s s (s + "o*") (s + "o") Masc mkNoun s s s s (s + "oN") (s + "o") Masc
} ; } ;
@@ -51,7 +51,7 @@ resource ResHin = ParamX ** open Prelude in {
} ; } ;
regAdjective : Str -> Adjective = \s -> case s of { regAdjective : Str -> Adjective = \s -> case s of {
acch + "a:" => mkAdjective s (acch + "e") (acch + "i:") ; acch + "A" => mkAdjective s (acch + "e") (acch + "I") ;
_ => mkAdjective s s s _ => mkAdjective s s s
} ; } ;
@@ -76,7 +76,7 @@ resource ResHin = ParamX ** open Prelude in {
\inf,stem,ims,imp,ifs,ifp,pms,pmp,pfs,pfp,ss1,ss2,sp2,sp3,r -> { \inf,stem,ims,imp,ifs,ifp,pms,pmp,pfs,pfp,ss1,ss2,sp2,sp3,r -> {
s = s =
let ga : Number -> Gender -> Str = \n,g -> let ga : Number -> Gender -> Str = \n,g ->
(regAdjective "ga:").s ! g ! n ! Dir (regAdjective "gA").s ! g ! n ! Dir
in table { in table {
VInf => inf ; VInf => inf ;
VStem => stem ; VStem => stem ;
@@ -99,48 +99,48 @@ resource ResHin = ParamX ** open Prelude in {
VAbs => stem + "kar" ; --- ke VAbs => stem + "kar" ; --- ke
VReq => r ; VReq => r ;
VImp => sp2 ; VImp => sp2 ;
VReqFut => stem + "i-ega:" VReqFut => stem + "ie-gA"
} }
} ; } ;
regVerb : Str -> Verb = \cal -> regVerb : Str -> Verb = \cal ->
let caly : Str = case cal of { let caly : Str = case cal of {
_ + ("a:" | "e") => cal + "y" ; _ + ("A" | "e") => cal + "y" ;
c + "u:" => c + "uy" ; c + "U" => c + "uy" ;
c + "i:" => c + "iy" ; c + "I" => c + "iy" ;
_ => cal _ => cal
} }
in in
mkVerb mkVerb
(cal + "na:") cal (cal + "nA") cal
(cal + "ta:") (cal + "te") (cal + "ti:") (cal + "ti:") (cal + "tA") (cal + "te") (cal + "tI") (cal + "tI")
(caly + "a:") (caly + "e") (caly + "i:") (caly + "i:*") (caly + "A") (caly + "e") (caly + "I") (caly + "IN")
(caly + "u:~") (caly + "e") (caly + "o") (caly + "e*") (caly + "UM") (caly + "e") (caly + "o") (caly + "eN")
(caly + "i-e") ; (caly + "ie-") ;
param param
CTense = CPresent | CPast | CFuture ; CTense = CPresent | CPast | CFuture ;
oper oper
copula : CTense -> Number -> Person -> Gender -> Str = \t,n,p,g -> copula : CTense -> Number -> Person -> Gender -> Str = \t,n,p,g ->
case <t,n,p,g> of { case <t,n,p,g> of {
<CPresent,Sg,P1,_ > => "hu:~" ; <CPresent,Sg,P1,_ > => "hUM" ;
<CPresent,Sg,P2,_ > => "hE" ; <CPresent,Sg,P2,_ > => "hE" ;
<CPresent,Sg,P3,_ > => "hE" ; <CPresent,Sg,P3,_ > => "hE" ;
<CPresent,Pl,P1,_ > => "hE*" ; <CPresent,Pl,P1,_ > => "hEN" ;
<CPresent,Pl,P2,_ > => "ho" ; <CPresent,Pl,P2,_ > => "ho" ;
<CPresent,Pl,P3,_ > => "hE*" ; <CPresent,Pl,P3,_ > => "hEN" ;
<CPast, Sg,_ ,Masc> => "Ta:" ; <CPast, Sg,_ ,Masc> => "TA" ;
<CPast, Sg,_ ,Fem > => "Ti:" ; <CPast, Sg,_ ,Fem > => "TI" ;
<CPast, Pl,_ ,Masc> => "Te" ; <CPast, Pl,_ ,Masc> => "Te" ;
<CPast, Pl,_ ,Fem > => "Ti:*" ; <CPast, Pl,_ ,Fem > => "TIN" ;
<CFuture, Sg,P1,Masc> => "hu:*ga:" ; <CFuture, Sg,P1,Masc> => "hUNgA" ;
<CFuture, Sg,P1,Fem > => "hu:*gi:" ; <CFuture, Sg,P1,Fem > => "hUNgI" ;
<CFuture, Sg,_ ,Masc> => "hoga:" ; <CFuture, Sg,_ ,Masc> => "hogA" ;
<CFuture, Sg,_ ,Fem > => "hogi:" ; <CFuture, Sg,_ ,Fem > => "hogI" ;
<CFuture, Pl,P2,Masc> => "hoge" ; <CFuture, Pl,P2,Masc> => "hoge" ;
<CFuture, Pl,_ ,Masc> => "ho*ge" ; <CFuture, Pl,_ ,Masc> => "hoNge" ;
<CFuture, Pl,P2,Fem > => "hogi:" ; <CFuture, Pl,P2,Fem > => "hogi:" ;
<CFuture, Pl,_ ,Fem > => "ho*gi:" <CFuture, Pl,_ ,Fem > => "hoNgi:"
} ; } ;
param param
@@ -148,12 +148,12 @@ resource ResHin = ParamX ** open Prelude in {
oper oper
personalPronoun : Person -> Number -> {s : PronCase => Str} = \p,n -> personalPronoun : Person -> Number -> {s : PronCase => Str} = \p,n ->
case <p,n> of { case <p,n> of {
<P1,Sg> => {s = table PronCase ["mE*" ; "muJ" ; "muJe" ; "mera:"]} ; <P1,Sg> => {s = table PronCase ["mEN" ; "muJ" ; "muJe" ; "merA"]} ;
<P1,Pl> => {s = table PronCase ["ham" ; "ham" ; "hame*" ; "hama:ra:"]} ; <P1,Pl> => {s = table PronCase ["ham" ; "ham" ; "hameN" ; "hamArA"]} ;
<P2,Sg> => {s = table PronCase ["tu:" ; "tuJ" ; "tuJe" ; "tera:"]} ; <P2,Sg> => {s = table PronCase ["tU" ; "tuJ" ; "tuJe" ; "terA"]} ;
<P2,Pl> => {s = table PronCase ["tum" ; "tum" ; "tumhe*" ; "tumha:ra:"]} ; <P2,Pl> => {s = table PronCase ["tum" ; "tum" ; "tumheN" ; "tumhArA"]} ;
<P3,Sg> => {s = table PronCase ["vah" ; "us" ; "use" ; "uska:"]} ; <P3,Sg> => {s = table PronCase ["vah" ; "u-s" ; "u-se" ; "u-skA"]} ;
<P3,Pl> => {s = table PronCase ["ve" ; "un" ; "unhe*" ; "unka:"]} <P3,Pl> => {s = table PronCase ["ve" ; "u-n" ; "u-nheN" ; "u-nkA"]}
} ; } ;
-- the Hindi verb phrase -- the Hindi verb phrase
@@ -198,7 +198,7 @@ resource ResHin = ParamX ** open Prelude in {
s = \\b,vh => s = \\b,vh =>
let let
na = if_then_Str b [] "na" ; na = if_then_Str b [] "na" ;
nahim = if_then_Str b [] "nahi:*" ; nahim = if_then_Str b [] "nahIN" ;
in in
case vh of { case vh of {
VPTense VPGenPres (Ag g n p) => VPTense VPGenPres (Ag g n p) =>
@@ -228,7 +228,7 @@ resource ResHin = ParamX ** open Prelude in {
} ; } ;
raha : Gender -> Number -> Str = \g,n -> raha : Gender -> Number -> Str = \g,n ->
(regAdjective "raha:").s ! g ! n ! Dir ; (regAdjective "rahA").s ! g ! n ! Dir ;
VPHSlash = VPH ** {c2 : Compl} ; VPHSlash = VPH ** {c2 : Compl} ;

View File

@@ -51,7 +51,7 @@ concrete StructuralHin of Structural = CatHin **
-- if_Subj = ss "if" ; -- if_Subj = ss "if" ;
-- in8front_Prep = ss ["in front of"] ; -- in8front_Prep = ss ["in front of"] ;
-- i_Pron = mkNP "I" "me" "my" Sg P1 Masc ; -- i_Pron = mkNP "I" "me" "my" Sg P1 Masc ;
in_Prep = ss "me*" ; in_Prep = ss "meN" ;
-- it_Pron = mkNP "it" "it" "its" Sg P3 Neutr ; -- it_Pron = mkNP "it" "it" "its" Sg P3 Neutr ;
-- less_CAdv = ss "less" ; -- less_CAdv = ss "less" ;
-- many_Det = mkDeterminer Pl "many" ; -- many_Det = mkDeterminer Pl "many" ;