forked from GitHub/gf-rgl
support for measurement units
This commit is contained in:
@@ -44,4 +44,8 @@ abstract Common = {
|
|||||||
Pol ; -- polarity e.g. positive, negative
|
Pol ; -- polarity e.g. positive, negative
|
||||||
Ant ; -- anteriority e.g. simultaneous, anterior
|
Ant ; -- anteriority e.g. simultaneous, anterior
|
||||||
|
|
||||||
|
--2 Measures
|
||||||
|
|
||||||
|
MU ; -- unit of measurement e.g. "km", "cm", "%"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,4 +156,9 @@ abstract Noun = Cat ** {
|
|||||||
AdjDAP : DAP -> AP -> DAP ; -- the large (one)
|
AdjDAP : DAP -> AP -> DAP ; -- the large (one)
|
||||||
DetDAP : Det -> DAP ; -- this (or that)
|
DetDAP : Det -> DAP ; -- this (or that)
|
||||||
|
|
||||||
|
--2 Quantities
|
||||||
|
|
||||||
|
QuantityNP : Digits -> MU -> NP ;
|
||||||
|
QuantityFloatNP : Digits -> Digits -> MU -> NP ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,4 +179,16 @@ concrete NounAfr of Noun = CatAfr ** open ResAfr, Prelude in {
|
|||||||
isMod = cn.isMod
|
isMod = cn.isMod
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard Neutr Nom) ;
|
||||||
|
a = agrP3 n.n ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n1.s ! NCard Neutr Nom ++ BIND ++ "." ++ BIND ++ n1.s ! NCard Neutr Nom) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -494,4 +494,6 @@ oper
|
|||||||
--
|
--
|
||||||
--}
|
--}
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,4 +240,17 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
p = dap.p
|
p = dap.p
|
||||||
} ;
|
} ;
|
||||||
DetDAP det = det ;
|
DetDAP det = det ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\role => preOrPost m.isPre m.s (n.s ! NCard (CFMasc Indef NonHuman)) ;
|
||||||
|
gn = gennum (AMasc NonHuman) n.n ;
|
||||||
|
p = NounP3 Pos
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\role => preOrPost m.isPre m.s (n1.s ! NCard (CFMasc Indef NonHuman) ++ BIND ++ "." ++ BIND ++ n2.s ! NCard (CFMasc Indef NonHuman)) ;
|
||||||
|
gn = gennum (AMasc NonHuman) Pl ;
|
||||||
|
p = NounP3 Pos
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2116,4 +2116,7 @@ oper
|
|||||||
|
|
||||||
adjAdv : A -> Str -> A =
|
adjAdv : A -> Str -> A =
|
||||||
\a,adv -> a ** {adv = adv} ;
|
\a,adv -> a ** {adv = adv} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -553,6 +553,6 @@ oper
|
|||||||
mk2V2 : V -> Prep -> V2 ;
|
mk2V2 : V -> Prep -> V2 ;
|
||||||
dirV2 : V -> V2 ;
|
dirV2 : V -> V2 ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -215,6 +215,8 @@ oper
|
|||||||
= \s -> lin RP {s = table {True => [] ; False => word s}} ;
|
= \s -> lin RP {s = table {True => [] ; False => word s}} ;
|
||||||
|
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
--. auxiliary
|
--. auxiliary
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete CommonX of Common = open (R = ParamX) in {
|
concrete CommonX of Common = open (R = ParamX), Prelude in {
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Text = {s : Str} ;
|
Text = {s : Str} ;
|
||||||
@@ -20,4 +20,6 @@ concrete CommonX of Common = open (R = ParamX) in {
|
|||||||
Ant = {s : Str ; a : R.Anteriority} ;
|
Ant = {s : Str ; a : R.Anteriority} ;
|
||||||
Pol = {s : Str ; p : R.Polarity} ;
|
Pol = {s : Str ; p : R.Polarity} ;
|
||||||
|
|
||||||
|
MU = {s : Str ; isPre : Bool} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,4 +201,16 @@ concrete NounDut of Noun = CatDut ** open ResDut, Prelude in {
|
|||||||
|
|
||||||
DetDAP det = det ;
|
DetDAP det = det ;
|
||||||
|
|
||||||
|
QuantityNP n m = noMerge ** {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard Utr Nom) ;
|
||||||
|
a = agrP3 n.n ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = noMerge ** {
|
||||||
|
s = \\role => preOrPost m.isPre m.s (n1.s ! NCard Utr Nom ++ BIND ++ "." ++ BIND ++ n2.s ! NCard Utr Nom) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -439,4 +439,6 @@ oper
|
|||||||
--
|
--
|
||||||
--}
|
--}
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,4 +176,14 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
|
|||||||
|
|
||||||
DetDAP d = d ;
|
DetDAP d = d ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard ! Nom) ;
|
||||||
|
a = agrgP3 n.n Neutr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n1.s ! NCard ! Nom ++ BIND ++ "." ++ BIND ++ n2.s ! NCard ! Nom) ;
|
||||||
|
a = agrgP3 Pl Neutr
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -795,6 +795,8 @@ mkVoc s = lin Voc (ss s) ;
|
|||||||
mk2Conj : Str -> Str -> Number -> Conj = \x,y,n ->
|
mk2Conj : Str -> Str -> Number -> Conj = \x,y,n ->
|
||||||
lin Conj (sd2 x y ** {n = n}) ;
|
lin Conj (sd2 x y ** {n = n}) ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
---- obsolete
|
---- obsolete
|
||||||
|
|
||||||
-- Comparison adjectives may two more forms.
|
-- Comparison adjectives may two more forms.
|
||||||
|
|||||||
@@ -219,6 +219,18 @@ concrete NounEst of Noun = CatEst ** open ResEst, HjkEst, MorphoEst, Prelude in
|
|||||||
|
|
||||||
ApposCN cn np = cn ** {postmod = cn.postmod ++ linNP (NPCase Nom) np} ; --- luvun x
|
ApposCN cn np = cn ** {postmod = cn.postmod ++ linNP (NPCase Nom) np} ; --- luvun x
|
||||||
|
|
||||||
|
QuantityNP n m = emptyNP ** {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard (NCase Sg Nom)) ;
|
||||||
|
a = agrP3 n.n ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = emptyNP ** {
|
||||||
|
s = \\role => preOrPost m.isPre m.s (n1.s ! NCard (NCase Sg Nom) ++ BIND ++ "." ++ BIND ++ n2.s ! NCard (NCase Sg Nom)) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
numN : NForm -> Number = \nf -> case nf of {
|
numN : NForm -> Number = \nf -> case nf of {
|
||||||
NCase n _ => n
|
NCase n _ => n
|
||||||
|
|||||||
@@ -922,4 +922,6 @@ oper
|
|||||||
mkAV a = a ;
|
mkAV a = a ;
|
||||||
mkA2V a p = mkA2 a p ;
|
mkA2V a p = mkA2 a p ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -296,6 +296,20 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, StemFin, Prelude in
|
|||||||
|
|
||||||
DetDAP d = d ;
|
DetDAP d = d ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard (NCase Sg Nom)) ;
|
||||||
|
a = agrP3 n.n ;
|
||||||
|
isPron = False ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\role => preOrPost m.isPre m.s (n1.s ! NCard (NCase Sg Nom) ++ BIND ++ "." ++ BIND ++ n2.s ! NCard (NCase Sg Nom)) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
isPron = False ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
numN : NForm -> Number = \nf -> case nf of {
|
numN : NForm -> Number = \nf -> case nf of {
|
||||||
NCase n _ => n ;
|
NCase n _ => n ;
|
||||||
|
|||||||
@@ -1050,4 +1050,6 @@ mkVS = overload {
|
|||||||
mkAV v = v ** {lock_A = <>} ;
|
mkAV v = v ** {lock_A = <>} ;
|
||||||
--- mkA2V v p = mkA2 <v : A> p ** {lock_A2 = <>} ;
|
--- mkA2V v p = mkA2 <v : A> p ** {lock_A2 = <>} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -574,5 +574,6 @@ oper
|
|||||||
_ => VFalse -- prend-il
|
_ => VFalse -- prend-il
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -240,4 +240,20 @@ concrete NounGer of Noun = CatGer ** open ResGer, MorphoGer, Prelude in {
|
|||||||
|
|
||||||
DetDAP det = det ;
|
DetDAP det = det ;
|
||||||
|
|
||||||
|
QuantityNP dig m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (dig.s ! invNum) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
w = WLight ;
|
||||||
|
rc = "" ;
|
||||||
|
ext = "" ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP dig1 dig2 m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (dig1.s ! invNum ++ BIND ++ "." ++ BIND ++ dig2.s ! invNum) ;
|
||||||
|
a = agrP3 Pl ;
|
||||||
|
w = WLight ;
|
||||||
|
rc = "" ;
|
||||||
|
ext = "" ;
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -771,4 +771,6 @@ mkV2 : overload {
|
|||||||
mkV2 : V -> Case -> V2 = \v,c -> prepV2 v (lin Prep {s,s2 = [] ; c = c ; isPrep = False}) ;
|
mkV2 : V -> Case -> V2 = \v,c -> prepV2 v (lin Prep {s,s2 = [] ; c = c ; isPrep = False}) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -558,4 +558,6 @@ oper
|
|||||||
mk2V2 : V -> Prep -> V2 ;
|
mk2V2 : V -> Prep -> V2 ;
|
||||||
dirV2 : V -> V2 ;
|
dirV2 : V -> V2 ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -198,4 +198,6 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1423,4 +1423,6 @@ resource ParadigmsMlt = open
|
|||||||
|
|
||||||
mkOrd : Str -> Ord = \x -> lin Ord { s = \\c => x };
|
mkOrd : Str -> Ord = \x -> lin Ord { s = \\c => x };
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -210,4 +210,18 @@ concrete NounPol of Noun = CatPol ** open ResPol, Prelude, PronounMorphoPol, Mor
|
|||||||
|
|
||||||
DetDAP d = d ;
|
DetDAP d = d ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
nom,voc = preOrPost m.isPre m.s n.s;
|
||||||
|
dep = \\cc => preOrPost m.isPre m.s n.s ;
|
||||||
|
gn = OthersPl;
|
||||||
|
p = P3
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
nom,voc = preOrPost m.isPre m.s (n1.s ++ BIND ++ "." ++ BIND ++ n2.s) ;
|
||||||
|
dep = \\cc => preOrPost m.isPre m.s (n1.s ++ BIND ++ "." ++ BIND ++ n2.s) ;
|
||||||
|
gn = OthersPl;
|
||||||
|
p = P3
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
-- Inari Listenmaa, 2020
|
-- Inari Listenmaa, 2020
|
||||||
|
|
||||||
resource ParadigmsPol = open
|
resource ParadigmsPol = open
|
||||||
CatPol, MorphoPol, ResPol, (NM=NounMorphoPol)
|
CatPol, MorphoPol, ResPol, (NM=NounMorphoPol), Prelude
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flags coding=utf8;
|
flags coding=utf8;
|
||||||
@@ -383,4 +383,6 @@
|
|||||||
_ => NM.mkNTable0171 sgnom -- Alternatives: mkNTable0000,mkNTable0001,mkNTable0002,mkNTable0003,mkNTable0010,mkNTable0015,mkNTable0028,mkNTable0037,mkNTable0043,mkNTable0044,mkNTable0053,mkNTable0064,mkNTable0067,mkNTable0075,mkNTable0091,mkNTable0096,mkNTable0111,mkNTable0117,mkNTable0118,mkNTable0129,mkNTable0131,mkNTable0168,mkNTable0171,mkNTable0173,mkNTable0176,mkNTable0181,mkNTable0191,mkNTable0197,mkNTable0213,mkNTable0243,mkNTable0244,mkNTable0247,mkNTable0248,mkNTable0271,mkNTable0281,mkNTable0282,mkNTable0286,mkNTable0304,mkNTable0309,mkNTable0312,mkNTable0315,mkNTable0324,mkNTable0333,mkNTable0338,mkNTable0348,mkNTable0350,mkNTable0365,mkNTable0373,mkNTable0375,mkNTable0428,mkNTable0444,mkNTable0467,mkNTable0495,mkNTable0497,mkNTable0500,mkNTable0503,mkNTable0514,mkNTable0516,mkNTable0518,mkNTable0519,mkNTable0523,mkNTable0539,mkNTable0542,mkNTable0550,mkNTable0552,mkNTable0570,mkNTable0578,mkNTable0583,mkNTable0589,mkNTable0648,mkNTable0662,mkNTable0691,mkNTable0696,mkNTable0717,mkNTable0773,mkNTable0803,mkNTable0826,mkNTable0828,mkNTable0859,mkNTable0868,mkNTable0869,mkNTable0944,mkNTable0964,mkNTable0965,mkNTable0966,mkNTable0970,mkNTable0981,mkNTable0991,mkNTable0995
|
_ => NM.mkNTable0171 sgnom -- Alternatives: mkNTable0000,mkNTable0001,mkNTable0002,mkNTable0003,mkNTable0010,mkNTable0015,mkNTable0028,mkNTable0037,mkNTable0043,mkNTable0044,mkNTable0053,mkNTable0064,mkNTable0067,mkNTable0075,mkNTable0091,mkNTable0096,mkNTable0111,mkNTable0117,mkNTable0118,mkNTable0129,mkNTable0131,mkNTable0168,mkNTable0171,mkNTable0173,mkNTable0176,mkNTable0181,mkNTable0191,mkNTable0197,mkNTable0213,mkNTable0243,mkNTable0244,mkNTable0247,mkNTable0248,mkNTable0271,mkNTable0281,mkNTable0282,mkNTable0286,mkNTable0304,mkNTable0309,mkNTable0312,mkNTable0315,mkNTable0324,mkNTable0333,mkNTable0338,mkNTable0348,mkNTable0350,mkNTable0365,mkNTable0373,mkNTable0375,mkNTable0428,mkNTable0444,mkNTable0467,mkNTable0495,mkNTable0497,mkNTable0500,mkNTable0503,mkNTable0514,mkNTable0516,mkNTable0518,mkNTable0519,mkNTable0523,mkNTable0539,mkNTable0542,mkNTable0550,mkNTable0552,mkNTable0570,mkNTable0578,mkNTable0583,mkNTable0589,mkNTable0648,mkNTable0662,mkNTable0691,mkNTable0696,mkNTable0717,mkNTable0773,mkNTable0803,mkNTable0826,mkNTable0828,mkNTable0859,mkNTable0868,mkNTable0869,mkNTable0944,mkNTable0964,mkNTable0965,mkNTable0966,mkNTable0970,mkNTable0981,mkNTable0991,mkNTable0995
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -564,5 +564,7 @@ oper
|
|||||||
|
|
||||||
reflVerboV : Verbum -> V = \ve -> reflV (lin V (verboV ve)) ; --%
|
reflVerboV : Verbum -> V = \ve -> reflV (lin V (verboV ve)) ; --%
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -207,4 +207,16 @@ incomplete concrete NounRomance of Noun =
|
|||||||
|
|
||||||
DetDAP det = det ;
|
DetDAP det = det ;
|
||||||
|
|
||||||
|
QuantityNP n m = heavyNPpol False {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard Masc);
|
||||||
|
a = agrP3 Masc n.n ;
|
||||||
|
hasClit = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = heavyNPpol False {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n1.s ! NCard Masc ++ BIND ++ "." ++ BIND ++ n2.s ! NCard Masc) ;
|
||||||
|
a = agrP3 Masc Pl ;
|
||||||
|
hasClit = False
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -308,5 +308,4 @@ in {
|
|||||||
isComp = True
|
isComp = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -559,6 +559,7 @@ mkPronoun :(_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pron =\eu,
|
|||||||
-- in this case we add a case to the complement, so that the right gender is chosen.
|
-- in this case we add a case to the complement, so that the right gender is chosen.
|
||||||
|
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -241,4 +241,16 @@ lin
|
|||||||
preferShort=PreferFull
|
preferShort=PreferFull
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\cas => preOrPost m.isPre m.s n.s;
|
||||||
|
pron=False ;
|
||||||
|
a=Ag (gennum Masc (numSizeNumber n.size)) P3
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\cas => preOrPost m.isPre m.s (n1.s ++ BIND ++ "." ++ BIND ++ n2.s) ;
|
||||||
|
pron=False ;
|
||||||
|
a=Ag GPl P3
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -597,4 +597,7 @@ oper
|
|||||||
Second | SecondA => (Z.sg1StemFromVerb sg1) + "ит" ;
|
Second | SecondA => (Z.sg1StemFromVerb sg1) + "ит" ;
|
||||||
_ => (Z.sg1StemFromVerb sg1) + "ет"
|
_ => (Z.sg1StemFromVerb sg1) + "ет"
|
||||||
} in (guessVerbForms asp Transitive inf sg1 sg3) ** {lock_V=<>} ;
|
} in (guessVerbForms asp Transitive inf sg1 sg3) ** {lock_V=<>} ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -263,4 +263,16 @@ incomplete concrete NounScand of Noun =
|
|||||||
|
|
||||||
DetDAP d = d ;
|
DetDAP d = d ;
|
||||||
|
|
||||||
|
QuantityNP n m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n.s ! NCard neutrum);
|
||||||
|
a = agrP3 Utr n.n ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
QuantityFloatNP n1 n2 m = {
|
||||||
|
s = \\c => preOrPost m.isPre m.s (n1.s ! NCard neutrum ++ BIND ++ "." ++ BIND ++ n2.s ! NCard neutrum) ;
|
||||||
|
a = agrP3 Utr Pl ;
|
||||||
|
isPron = False
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -850,4 +850,7 @@ oper
|
|||||||
|
|
||||||
vowel : pattern Str = #("a"|"e"|"i"|"o"|"u") ;
|
vowel : pattern Str = #("a"|"e"|"i"|"o"|"u") ;
|
||||||
consonant : pattern Str = #("b"|"c"|"d"|"f"|"g"|"h"|"j"|"k"|"l"|"m"|"n"|"p"|"r"|"s"|"t"|"v"|"x"|"z") ;
|
consonant : pattern Str = #("b"|"c"|"d"|"f"|"g"|"h"|"j"|"k"|"l"|"m"|"n"|"p"|"r"|"s"|"t"|"v"|"x"|"z") ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -286,4 +286,6 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -604,4 +604,6 @@ oper
|
|||||||
mk2V2 : V -> Prep -> V2 ;
|
mk2V2 : V -> Prep -> V2 ;
|
||||||
dirV2 : V -> V2 ;
|
dirV2 : V -> V2 ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -431,6 +431,7 @@ mkN2 = overload {
|
|||||||
regPN : Str ->Gender -> PN ;
|
regPN : Str ->Gender -> PN ;
|
||||||
nounPN : N -> PN ;
|
nounPN : N -> PN ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -821,5 +821,6 @@ oper
|
|||||||
|
|
||||||
dirV2 : V -> V2 ;
|
dirV2 : V -> V2 ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -100,5 +100,6 @@ oper
|
|||||||
mkPrep : Str -> Prep =
|
mkPrep : Str -> Prep =
|
||||||
\s -> lin Prep (ss s) ;
|
\s -> lin Prep (ss s) ;
|
||||||
|
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -632,4 +632,7 @@ resource ParadigmsTur = open
|
|||||||
-- kal-, ol-, öl-, var-, ver-, vur-, san- )
|
-- kal-, ol-, öl-, var-, ver-, vur-, san- )
|
||||||
| SgSylConReg ; -- one syllable ending with consonant, takes -er
|
| SgSylConReg ; -- one syllable ending with consonant, takes -er
|
||||||
|
|
||||||
|
oper
|
||||||
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user