1
0
forked from GitHub/gf-rgl

Define the param UseGen and make use of that

This commit is contained in:
Ayberk Tosun
2017-08-22 11:38:38 +03:00
parent 1362bbdd03
commit 2665910dc2
4 changed files with 14 additions and 6 deletions

View File

@@ -11,11 +11,11 @@ concrete CatTur of Cat = CommonX ** open ResTur, Prelude in {
NP = {s : Case => Str ; a : Agr} ;
Pron = ResTur.Pron ;
Det = {s : Str; n : Number; useGen : Bool} ;
Det = {s : Str; n : Number; useGen : UseGen} ;
Num = {s : Number => Case => Str; n : Number} ;
Card = {s : Number => Case => Str} ;
Ord = {s : Number => Case => Str} ;
Quant = {s : Str; useGen : Bool} ;
Quant = {s : Str; useGen : UseGen} ;
Prep = {s : Str; c : Case} ;
Numeral = {s : CardOrd => Number => Case => Str ; n : Number} ;

View File

@@ -6,12 +6,18 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
lin
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
} ;
UsePron p = p ;
PossPron p = {s = []; useGen = YesGen p.a} ;
DetQuant quant num = {
s = quant.s ++ num.s ! Sg ! Nom ;
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} ;
OrdSuperl a = {s = \\n,c => "en" ++ a.s ! n ! c} ;
DefArt = {s = []; useGen = False} ;
IndefArt = {s = []; useGen = False} ;
DefArt = {s = []; useGen = NoGen} ;
IndefArt = {s = []; useGen = NoGen} ;
UseN n = n ;

View File

@@ -507,7 +507,7 @@ oper
dat_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
AoristType = PlSyl -- more than one syllable, takes -ir

View File

@@ -34,6 +34,8 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
| VInfinitive
;
UseGen = NoGen | YesGen Agr;
oper
Verb : Type = {
s : VForm => Str