forked from GitHub/gf-core
symbolpol and fixing typo in verbpol
This commit is contained in:
@@ -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 } ;
|
||||
-}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user