forked from GitHub/gf-rgl
Define the param UseGen and make use of that
This commit is contained in:
@@ -11,11 +11,11 @@ concrete CatTur of Cat = CommonX ** open ResTur, Prelude in {
|
|||||||
NP = {s : Case => Str ; a : Agr} ;
|
NP = {s : Case => Str ; a : Agr} ;
|
||||||
|
|
||||||
Pron = ResTur.Pron ;
|
Pron = ResTur.Pron ;
|
||||||
Det = {s : Str; n : Number; useGen : Bool} ;
|
Det = {s : Str; n : Number; useGen : UseGen} ;
|
||||||
Num = {s : Number => Case => Str; n : Number} ;
|
Num = {s : Number => Case => Str; n : Number} ;
|
||||||
Card = {s : Number => Case => Str} ;
|
Card = {s : Number => Case => Str} ;
|
||||||
Ord = {s : Number => Case => Str} ;
|
Ord = {s : Number => Case => Str} ;
|
||||||
Quant = {s : Str; useGen : Bool} ;
|
Quant = {s : Str; useGen : UseGen} ;
|
||||||
Prep = {s : Str; c : Case} ;
|
Prep = {s : Str; c : Case} ;
|
||||||
|
|
||||||
Numeral = {s : CardOrd => Number => Case => Str ; n : Number} ;
|
Numeral = {s : CardOrd => Number => Case => Str ; n : Number} ;
|
||||||
|
|||||||
@@ -6,12 +6,18 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
DetCN det cn = {
|
DetCN det cn = {
|
||||||
s = \\c => det.s ++ cn.s ! det.n ! c ;
|
s =
|
||||||
|
case det.useGen of {
|
||||||
|
NoGen => \\c => det.s ++ cn.s ! det.n ! c ;
|
||||||
|
YesGen a => \\c => det.s ++ cn.gen ! det.n ! a
|
||||||
|
} ;
|
||||||
a = agrP3 det.n
|
a = agrP3 det.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UsePron p = p ;
|
UsePron p = p ;
|
||||||
|
|
||||||
|
PossPron p = {s = []; useGen = YesGen p.a} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s = quant.s ++ num.s ! Sg ! Nom ;
|
s = quant.s ++ num.s ! Sg ! Nom ;
|
||||||
n = num.n;
|
n = num.n;
|
||||||
@@ -29,8 +35,8 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
|
|||||||
OrdNumeral num = {s = \\c => num.s ! NOrd ! c} ;
|
OrdNumeral num = {s = \\c => num.s ! NOrd ! c} ;
|
||||||
OrdSuperl a = {s = \\n,c => "en" ++ a.s ! n ! c} ;
|
OrdSuperl a = {s = \\n,c => "en" ++ a.s ! n ! c} ;
|
||||||
|
|
||||||
DefArt = {s = []; useGen = False} ;
|
DefArt = {s = []; useGen = NoGen} ;
|
||||||
IndefArt = {s = []; useGen = False} ;
|
IndefArt = {s = []; useGen = NoGen} ;
|
||||||
|
|
||||||
UseN n = n ;
|
UseN n = n ;
|
||||||
|
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ oper
|
|||||||
dat_Case : Prep = mkPrep [] Dat;
|
dat_Case : Prep = mkPrep [] Dat;
|
||||||
acc_Case : Prep = mkPrep [] Dat;
|
acc_Case : Prep = mkPrep [] Dat;
|
||||||
|
|
||||||
mkQuant : Str -> Quant = \s -> lin Quant {s=s; useGen = False} ;
|
mkQuant : Str -> Quant = \s -> lin Quant {s=s; useGen = NoGen} ;
|
||||||
|
|
||||||
param
|
param
|
||||||
AoristType = PlSyl -- more than one syllable, takes -ir
|
AoristType = PlSyl -- more than one syllable, takes -ir
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
|||||||
| VInfinitive
|
| VInfinitive
|
||||||
;
|
;
|
||||||
|
|
||||||
|
UseGen = NoGen | YesGen Agr;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
Verb : Type = {
|
Verb : Type = {
|
||||||
s : VForm => Str
|
s : VForm => Str
|
||||||
|
|||||||
Reference in New Issue
Block a user