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} ; 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} ;

View File

@@ -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 ;

View File

@@ -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

View File

@@ -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