forked from GitHub/gf-rgl
converted Hindi to the revised encoding
This commit is contained in:
@@ -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") ;
|
||||||
|
|||||||
@@ -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} ;
|
||||||
|
|
||||||
|
|||||||
@@ -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" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user