final changes Romanian resource grammar and phrasebook

This commit is contained in:
ramona.enache
2010-05-15 13:37:27 +00:00
parent 88fc20ce61
commit 4c384fac73
7 changed files with 36 additions and 23 deletions

View File

@@ -54,7 +54,7 @@ concrete CatRon of Cat =
c1, c2 : Clitics => Str ; c1, c2 : Clitics => Str ;
a : Agr ; a : Agr ;
isPol : Bool ; isPol : Bool ;
poss : Number => Gender => Str } ; poss : Number => Gender => ACase => Str } ;
NP = NounPhrase ; NP = NounPhrase ;

View File

@@ -8,7 +8,11 @@ concrete ExtraRon of ExtraRonAbs = CatRon **
in in
mkClause ss np.isPol np2.a (insertDatClit (insertSimpObj (\\_ => (np2.s ! Nom).comp) vp) np); mkClause ss np.isPol np2.a (insertDatClit (insertSimpObj (\\_ => (np2.s ! Nom).comp) vp) np);
AccSubjCl np vp = let ss = if_then_Str np.isPronoun "" (np.s ! Ac).comp AccSubjCl np vp = let s1 = case np.nForm of
{HasRef False => "";
_ => "pe"};
ss = if_then_Str np.isPronoun "" (s1 ++ (np.s ! Ac).comp)
in in
mkClause ss np.isPol (agrP3 Masc Sg) (insertAccClit vp np) ; mkClause ss np.isPol (agrP3 Masc Sg) (insertAccClit vp np) ;

View File

@@ -75,7 +75,7 @@ lin
fear_VS = mkVS (v_besch100 "teme") ; fear_VS = mkVS (v_besch100 "teme") ;
fear_V2 = mmkV2 (mkRVAcc (mkV100 "teme")) (mkPrep "de" Ac) ; fear_V2 = mmkV2 (mkRVAcc (mkV100 "teme")) (mkPrep "de" Ac) ;
find_V2 = dirV2 (mkV "găsi") ; find_V2 = dirV2 (mkV "găsi") ;
fish_N = mkN "peşte" masculine ; fish_N = mkN "peşte" "peşti" masculine ;
floor_N = mkN "podea" ; floor_N = mkN "podea" ;
forget_V2 = dirV2 (v_besch18 "uita") ; forget_V2 = dirV2 (v_besch18 "uita") ;
fridge_N = mkN "frigider" ; fridge_N = mkN "frigider" ;
@@ -303,7 +303,7 @@ wide_A = mkA "adânc" ;
wind_N = mkNR "vânt" ; wind_N = mkNR "vânt" ;
wing_N = mkN "aripă" ; wing_N = mkN "aripă" ;
worm_N = mkN "vierme" masculine; worm_N = mkN "vierme" masculine;
year_N = mkN "an" masculine; year_N = mkN "an" "ani" masculine;
bite_V2 = dirV2 (v_besch22 "muşca") ; bite_V2 = dirV2 (v_besch22 "muşca") ;
blow_V = v_besch55 "sufla" ; blow_V = v_besch55 "sufla" ;
breathe_V = v_besch17 "respira" ; breathe_V = v_besch17 "respira" ;

View File

@@ -294,6 +294,10 @@ oper adjDimin : Str -> Adj = \s ->
in in
mkAdjSpec s f pl plf; mkAdjSpec s f pl plf;
oper adjNat : Str -> Adj = \s ->
let f = Predef.tk 2 s + "en"
in
mkAdjSpec s (s+"ă") (f+"i") (f+"e");
-- the phonetical mutations that occur in Romanian (Singular Masculine -> Singular Feminine) are -- the phonetical mutations that occur in Romanian (Singular Masculine -> Singular Feminine) are
-- o -> oa (Ex : frumos -> frumoasă) -- o -> oa (Ex : frumos -> frumoasă)
@@ -434,6 +438,7 @@ mkAdjReg : Str -> Adj = \s ->
x + "e" => adjMare s; x + "e" => adjMare s;
x + "iu" => adjAuriu s; x + "iu" => adjAuriu s;
x + "el" => adjDimin s; x + "el" => adjDimin s;
x + "an" => adjNat s;
_ => mkAdjSpec s (mkFemSg radF) (mkStemPlReg rad) (mkFemAdj rad) _ => mkAdjSpec s (mkFemSg radF) (mkStemPlReg rad) (mkFemAdj rad)
}; };

View File

@@ -9,7 +9,7 @@ concrete NounRon of Noun =
n = det.n; n = det.n;
gg = agrGender cn.g n ; gg = agrGender cn.g n ;
ag = agrP3 gg n ; ag = agrP3 gg n ;
hr = orB cn.needsRefForm (orB (andB (getClit cn.a) det.hasRef) (andB det.isDef cn.isComp)); hr = orB cn.needsRefForm (andB (getClit cn.a) (orB det.hasRef (andB det.isDef cn.isComp)));
nf = if_then_else NForm hr HasClit (HasRef False); nf = if_then_else NForm hr HasClit (HasRef False);
st= if_then_else Species det.isDef Def Indef; st= if_then_else Species det.isDef Def Indef;
rs = if_then_else Species det.hasRef Def Indef rs = if_then_else Species det.hasRef Def Indef
@@ -147,8 +147,8 @@ in {
-- assume that it refers to people -- assume that it refers to people
PossPron p = { PossPron p = {
s = \\_,n,g,c => p.poss ! n ! g ; s = \\_,n,g,c => p.poss ! n ! g ! c;
sp = \\ n,g,c => artPos g n c ++ p.poss ! n ! g ; sp = \\ n,g,c => artPos g n c ++ p.poss ! n ! g ! c ;
isDef = True ; isDef = True ;
isPost = True ; isPost = True ;
hasRef = True hasRef = True
@@ -244,7 +244,7 @@ in {
g = f.g ; g = f.g ;
a = f.a ; a = f.a ;
needsRefForm = False ; needsRefForm = False ;
isComp = getClit f.a isComp = False
} ; } ;
ComplN3 f x = { ComplN3 f x = {
@@ -253,7 +253,7 @@ in {
c2 = f.c3; c2 = f.c3;
a = f.a ; a = f.a ;
needsRefForm = False ; needsRefForm = False ;
isComp = getClit f.a isComp = False
} ; } ;
AdjCN ap cn = AdjCN ap cn =
@@ -269,7 +269,7 @@ in {
g = g ; g = g ;
a = cn.a ; a = cn.a ;
needsRefForm = cn.needsRefForm ; needsRefForm = cn.needsRefForm ;
isComp = getClit cn.a isComp = True
} ; } ;
@@ -278,7 +278,7 @@ in {
g = cn.g ; g = cn.g ;
a = cn.a ; a = cn.a ;
needsRefForm = cn.needsRefForm; needsRefForm = cn.needsRefForm;
isComp = False isComp = True
} ; } ;
SentCN cn sc = let g = cn.g in { SentCN cn sc = let g = cn.g in {
@@ -286,7 +286,7 @@ in {
g = g ; g = g ;
a = cn.a ; a = cn.a ;
needsRefForm = cn.needsRefForm; needsRefForm = cn.needsRefForm;
isComp = False isComp = True
} ; } ;
AdvCN cn sc = let g = cn.g in { AdvCN cn sc = let g = cn.g in {
@@ -294,7 +294,7 @@ in {
g = g; g = g;
a = cn.a ; a = cn.a ;
needsRefForm = cn.needsRefForm; needsRefForm = cn.needsRefForm;
isComp = False isComp = True
} ; } ;
ApposCN cn np = let g = cn.g in { ApposCN cn np = let g = cn.g in {
@@ -302,7 +302,7 @@ in {
g = g; g = g;
a = cn.a ; a = cn.a ;
needsRefForm = cn.needsRefForm; needsRefForm = cn.needsRefForm;
isComp = False isComp = True
} ; } ;

View File

@@ -9,7 +9,7 @@ param Placement = indep | attr ;
lincat Digit = {s : CardOrd => DForm => Str ; size : Size} ; lincat Digit = {s : CardOrd => DForm => Str ; size : Size} ;
lincat Sub10 = {s : CardOrd => DForm => Placement => Str ; size : Size} ; lincat Sub10 = {s : CardOrd => DForm => Placement => Str ; size : Size} ;
lincat Sub100 = {s : CardOrd => NumF => Placement => Str ; size : Size} ; lincat Sub100 = {s : CardOrd => NumF => Placement => Str ; size : Size} ;
lincat Sub1000 = {s : CardOrd => NumF => Placement => Str ; size : Size} ; lincat Sub1000 = {s : CardOrd => NumF => Placement => Str ; size : Size } ;
lincat Sub1000000 = { s : CardOrd => NumF => Placement => Str; size : Size } ; lincat Sub1000000 = { s : CardOrd => NumF => Placement => Str; size : Size } ;
@@ -174,12 +174,11 @@ lin pot2 d =
NCard g => \\_,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mksute d.size) ; NCard g => \\_,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mksute d.size) ;
NOrd g => \\_,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mkSute d.size g) NOrd g => \\_,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mkSute d.size g)
}; };
size = pl} ; size = pl} ;
lin pot2plus d e = lin pot2plus d e =
{s = \\c,f,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mksute d.size) ++ e.s ! c ! f ! attr ; {s = \\c,f,_ => d.s ! (NCard Fem) ! unit ! indep ++ (mksute d.size) ++ e.s ! c ! f ! attr ;
size = pl} ; size = e.size} ;
lin pot2as3 n = n ; lin pot2as3 n = n ;
@@ -194,7 +193,7 @@ lin pot3 n =
lin pot3plus n m = lin pot3plus n m =
{s = \\c, f, p => mkmie n.size (n.s ! (NCard Fem) ! f ! indep) ++ m.s ! c ! f ! attr; {s = \\c, f, p => mkmie n.size (n.s ! (NCard Fem) ! f ! indep) ++ m.s ! c ! f ! attr;
size = pl size = m.size
}; };
oper mksute : Size -> Str = \sz -> table {sg => "sută" ; _ => "sute" } ! sz ; oper mksute : Size -> Str = \sz -> table {sg => "sută" ; _ => "sute" } ! sz ;

View File

@@ -516,9 +516,14 @@ mkPronoun :(_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pron =\eu,
} ; } ;
c1 = \\c => (cliticsAc g n p).s ! c ; c2 = \\c => (cliticsDa g n p).s ! c ; c1 = \\c => (cliticsAc g n p).s ! c ; c2 = \\c => (cliticsDa g n p).s ! c ;
a = {g = g ; n = n ; p = p} ; a = {g = g ; n = n ; p = p} ;
poss = table {Sg => table {Masc => meuP ; Fem => mea}; poss = \\n,g,c => case <n,g,c> of
Pl => table {Masc => mei ; Fem => mele} {<Sg,Masc,AGenDat> => meuP ;
}; <Sg,Masc,_> => meuP ;
<Sg,Fem,AGenDat> => mele ;
<Sg,Fem,_> => mea;
<Pl,Masc,_> => mei;
<Pl,Fem,_> => mele
} ;
isPol = False; isPol = False;
lock_Pron = <>}; lock_Pron = <>};