symbolpol and fixing typo in verbpol

This commit is contained in:
'Adam Slaski
2009-10-24 12:14:56 +00:00
parent 73e1f0e81e
commit c98dcdfc4f
4 changed files with 35 additions and 31 deletions

View File

@@ -285,7 +285,7 @@ lin
sell_V3 = dirV3 (mkV "sprzedawać" conj57 "sprzedać" conj99);
send_V3 = mkV3 (mkV "wysyłać" conj98 "wysłać" conj67 ) "" "do" accusative genitive ;
talk_V3 = mkV3 (mkV "rozmawiać" conj98 "porozmawiać" conj98) "z" "о" instrumental locative;
give_V3 = mkV3 (mkV "dawać" conj57 "dać" conj99) "" "" Dat Acc ;
give_V3 = mkV3 (mkV "dawać" conj57 "dać" conj99) "" "" Acc Dat;
fear_V2 = mkV2 (mkReflVerb (mkMonoVerb "bać" conjbac Imperfective)) "" Gen;
hit_V2 = dirV2 (mkV "bić" conj51 "pobić" conj51);

View File

@@ -1,4 +1,4 @@
--# -path=.:../abstract:../common:../../prelude
--# -path=.:../abstract:../common:../prelude
--# -coding=utf8
-- Ilona Nowak Wintersemester 2007/08

View File

@@ -1,29 +1,41 @@
--# -path=.:../abstract:../common
--# -path=.:../abstract:../common:../prelude
concrete SymbolPol of Symbol = CatPol ** open Prelude, ResPol, AdjectiveMorphoPol in {
concrete SymbolPol of Symbol = CatPol ** open Prelude, ResPol in {
{-
lin
SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
NumPN i = {s = i.s ; g = Neutr} ;
SymbPN i = {nom= i.s; voc=i.s; dep = \\_=>i.s; gn = NeutSg; p=P3} ;
IntPN i = {nom= i.s; voc=i.s; dep = \\_=>i.s; gn = NeutSg; p=P3} ;
FloatPN i = {nom= i.s; voc=i.s; dep = \\_=>i.s; gn = NeutSg; p=P3} ;
NumPN i = {nom= i.s!Nom!(Masc Inanimate); voc=i.s!Nom!(Masc Inanimate); dep = \\_=>i.s!Nom!(Masc Inanimate); gn = NeutSg; p=P3} ;
CNIntNP cn i = {
s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! c ;
a = agrgP3 Sg cn.g
} ;
CNSymbNP det cn xs = {
s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! c ;
a = agrgP3 det.n cn.g
} ;
nom= cn.s!Sg!Nom ++ i.s;
voc= cn.s!Sg!VocP ++ i.s;
dep = \\cc => cn.s !Sg !(extract_case! cc) ++ i.s;
gn = (accom_gennum !<NoA, cn.g, Sg>);
p=P3
} ;
CNNumNP cn i = {
s = \\c => cn.s ! Sg ! Nom ++ i.s ! c ;
a = agrgP3 Sg cn.g
} ;
nom= cn.s!Sg!Nom ++ i.s!Nom!(Masc Inanimate);
voc= cn.s!Sg!VocP ++ i.s!Nom!(Masc Inanimate);
dep = \\cc => cn.s !Sg !(extract_case! cc) ++ i.s!Nom!(Masc Inanimate);
gn = (accom_gennum !<NoA, cn.g, Sg>);
p=P3
} ;
CNSymbNP kazdy facet xs = {
nom = (kazdy.s ! Nom ! facet.g) ++ (facet.s ! kazdy.n ! (accom_case! <kazdy.a,Nom, facet.g>)) ++ xs.s;
voc = (kazdy.s ! VocP ! facet.g) ++ (facet.s ! kazdy.n ! (accom_case! <kazdy.a,VocP,facet.g>)) ++ xs.s;
dep = \\cc => let c = extract_case! cc in
(kazdy.s ! c ! facet.g) ++ (facet.s ! kazdy.n ! (accom_case! <kazdy.a,c,facet.g>)) ++ xs.s;
gn = (accom_gennum !<kazdy.a, facet.g, kazdy.n>);
p = P3
} ;
SymbS sy = sy ;
SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
SymbNum sy = { s = \\_,_=>sy.s; a=NoA; n=Pl };
SymbOrd sy = { s = \\af => sy.s ++ (mkAtable (guess_model "-ty"))!af} ;
lincat
@@ -31,14 +43,6 @@ lincat
lin
MkSymb s = s ;
BaseSymb = infixSS "and" ;
BaseSymb = infixSS "i" ;
ConsSymb = infixSS "," ;
oper
-- Note: this results in a space before 's, but there's
-- not mauch we can do about that.
addGenitiveS : Str -> Case => Str = \s ->
table { Gen => s ++ "'s"; _ => s } ;
-}
}

View File

@@ -20,7 +20,7 @@ lin
Slash3V3 v3 np = (setSufix (defVP (castv3 v3))
(\\p,gn =>
v3.c2.s ++ np.dep ! (npcase !<p,v3.c.c>) ))
v3.c2.s ++ np.dep ! (npcase !<p,v3.c2.c>) ))
** {c=v3.c};
-- ComplSlash : VPSlash -> NP -> VP ; -- love it