1
0
forked from GitHub/gf-core

added Predef.BIND to elision words in Catalan.

This commit is contained in:
aarne
2014-12-03 13:18:23 +00:00
parent 5bf15465d4
commit e461296274
2 changed files with 12 additions and 12 deletions

View File

@@ -23,15 +23,15 @@ oper
prepCase = \c -> case c of {
Nom => [] ;
Acc => [] ;
CPrep P_de => "de" ;
CPrep P_de => elisDe ;
CPrep P_a => "a"
} ;
artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c ->
case <g,n,c> of { ---- TODO: check the NP forms
<Masc,Sg, CPrep P_de> => pre {"del" ; ["de l'"] / vocalForta} ;
<Masc,Sg, CPrep P_a> => pre {"al" ; ["a l'"] / vocalForta} ;
<Masc,Sg, CPrep P_de> => pre {"del" ; ("de l'" ++ Predef.BIND) / vocalForta} ;
<Masc,Sg, CPrep P_a> => pre {"al" ; ("a l'" ++ Predef.BIND) / vocalForta} ;
<Masc,Sg, _> => elisEl ;
<Fem, Sg, _> => prepCase c ++ elisLa ;
<Masc,Pl, CPrep P_de> => "dels" ;
@@ -46,13 +46,13 @@ oper
artIndef = \isNP,g,n,c -> case isNP of {
True => case <n,c> of {
<Sg,CPrep P_de> => genForms ["d' ++ Predef.BIND ++ un"] ["d' ++ Predef.BIND ++ una"] ! g ;
<Sg,CPrep P_de> => genForms ("d' ++ Predef.BIND ++ un") ("d' ++ Predef.BIND ++ una") ! g ;
<Sg,_> => prepCase c ++ genForms "un" "una" ! g ;
<Pl,CPrep P_de> => genForms ["d' ++ Predef.BIND ++ uns"] ["d' ++ Predef.BIND ++ unes"] ! g ; -- AR 3/12/2014
<Pl,CPrep P_de> => genForms ("d' ++ Predef.BIND ++ uns") ("d' ++ Predef.BIND ++ unes") ! g ; -- AR 3/12/2014
<Pl,_> => prepCase c ++ genForms "uns" "unes" ! g
} ;
_ => case <n,c> of {
<Sg,CPrep P_de> => genForms ["d' ++ Predef.BIND ++ un"] ["d' ++ Predef.BIND ++ una"] ! g ;
<Sg,CPrep P_de> => genForms ("d' ++ Predef.BIND ++ un") ("d' ++ Predef.BIND ++ una") ! g ;
<Sg,_> => prepCase c ++ genForms "un" "una" ! g ;
<Pl,_> => prepCase c --- ++ genForms "uns" "unes" ! g --- take this as a determiner
}

View File

@@ -32,15 +32,15 @@ oper
} ;
elisDe = pre { "de" ; "d'" / vocal };
elisEl = pre { "el" ; "l'" / vocal } ;
elisLa = pre { "la" ; "l'" / vocalForta } ;
elisEm = pre { "em" ; "m'" / vocal } ;
elisEt = pre { "et" ; "t'" / vocal } ;
elisDe = pre { "de" ; ("d'" ++ Predef.BIND) / vocal };
elisEl = pre { "el" ; ("l'" ++ Predef.BIND) / vocal } ;
elisLa = pre { "la" ; ("l'" ++ Predef.BIND) / vocalForta } ;
elisEm = pre { "em" ; ("m'" ++ Predef.BIND) / vocal } ;
elisEt = pre { "et" ; ("t'" ++ Predef.BIND) / vocal } ;
-- AR after pre syntax change 25/5/2009
elisEs = pre {
vocal => "s'" ;
vocal => "s'" ++ Predef.BIND ;
"s" => "se" ;
_ => "es"
} ;