forked from GitHub/gf-core
took back smart type of Int ; Digits type in resource and some adjustments of Det syntax (not yet for romance and russian)
This commit is contained in:
@@ -47,7 +47,7 @@ concrete CatGer of Cat =
|
||||
NP = {s : Case => Str ; a : Agr} ;
|
||||
Pron = {s : NPForm => Str ; a : Agr} ;
|
||||
Det = {s : Gender => Case => Str ; n : Number ; a : Adjf} ;
|
||||
QuantSg, QuantPl = {s : Gender => Case => Str ; a : Adjf} ;
|
||||
--- QuantSg, QuantPl = {s : Gender => Case => Str ; a : Adjf} ; DEPREC
|
||||
Quant = {s : Number => Gender => Case => Str ; a : Adjf} ;
|
||||
Predet = {s : Number => Gender => Case => Str} ;
|
||||
Num = {s : Str; n : Number } ;
|
||||
@@ -55,7 +55,8 @@ concrete CatGer of Cat =
|
||||
|
||||
-- Numeral
|
||||
|
||||
Numeral = {s : CardOrd => Str; n : Number } ;
|
||||
Numeral = {s : CardOrd => Str ; n : Number } ;
|
||||
Digits = {s : CardOrd => Str ; n : Number } ;
|
||||
|
||||
-- Structural
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
n = Sg ;
|
||||
a = quant.a
|
||||
in {
|
||||
s = \\g,c => quant.s ! g ! c ++
|
||||
s = \\g,c => quant.s ! n ! g ! c ++
|
||||
ord.s ! agrAdj g (adjfCase a c) n c ;
|
||||
n = n ;
|
||||
a = a
|
||||
@@ -46,12 +46,13 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
n = num.n ;
|
||||
a = quant.a
|
||||
in {
|
||||
s = \\g,c => quant.s ! g ! c ++
|
||||
s = \\g,c => quant.s ! n ! g ! c ++
|
||||
num.s ++ ord.s ! agrAdj g (adjfCase a c) n c ;
|
||||
n = n ;
|
||||
a = a
|
||||
} ;
|
||||
|
||||
{- --- DEPREC
|
||||
SgQuant q = {
|
||||
s = q.s ! Sg ;
|
||||
a = q.a
|
||||
@@ -60,6 +61,7 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
s = q.s ! Pl ;
|
||||
a = q.a
|
||||
} ;
|
||||
-}
|
||||
|
||||
PossPron p = {
|
||||
s = \\n,g,c => p.s ! NPPoss (gennum g n) c ;
|
||||
@@ -76,6 +78,9 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
} ;
|
||||
OrdInt n = {s = \\_ => n.s ++ "."} ;
|
||||
|
||||
NumDigits numeral = {s = numeral.s ! NCard; n = numeral.n } ;
|
||||
OrdDigits numeral = {s = \\af => numeral.s ! NOrd af} ;
|
||||
|
||||
NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n } ;
|
||||
OrdNumeral numeral = {s = \\af => numeral.s ! NOrd af} ;
|
||||
|
||||
@@ -97,8 +102,7 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
} ;
|
||||
|
||||
MassDet = {
|
||||
s = \\g,c => [] ;
|
||||
n = Sg ;
|
||||
s = \\_,g,c => [] ;
|
||||
a = Strong
|
||||
} ;
|
||||
|
||||
|
||||
@@ -45,4 +45,42 @@ lin
|
||||
pot3plus n m =
|
||||
{s = \\g => n.s ! invNum ++ "tausend" ++ m.s ! g ; n = Pl} ;
|
||||
|
||||
|
||||
lincat
|
||||
Dig = TDigit ;
|
||||
|
||||
lin
|
||||
IDig d = d ;
|
||||
|
||||
IIDig d i = {
|
||||
s = \\o => d.s ! o ++ i.s ! o ;
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
---- TODO: case endings of ordinals
|
||||
D_0 = mkDig "0" ;
|
||||
D_1 = mk3Dig "1" "1e" Sg ;
|
||||
D_2 = mk2Dig "2" "2e" ;
|
||||
D_3 = mkDig "3" ;
|
||||
D_4 = mkDig "4" ;
|
||||
D_5 = mkDig "5" ;
|
||||
D_6 = mkDig "6" ;
|
||||
D_7 = mkDig "7" ;
|
||||
D_8 = mkDig "8" ;
|
||||
D_9 = mkDig "9" ;
|
||||
|
||||
oper
|
||||
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
|
||||
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "e") ;
|
||||
|
||||
mk3Dig : Str -> Str -> Number -> TDigit = \c,o,n -> {
|
||||
s = table {NCard => c ; NOrd _ => o} ;
|
||||
n = n
|
||||
} ;
|
||||
|
||||
TDigit = {
|
||||
n : Number ;
|
||||
s : CardOrd => Str
|
||||
} ;
|
||||
|
||||
}
|
||||
@@ -34,7 +34,7 @@ concrete StructuralGer of Structural = CatGer **
|
||||
everything_NP = nameNounPhrase {s = caselist "alles" "alles" "allem" "alles"} ;
|
||||
everywhere_Adv = ss "überall" ;
|
||||
few_Det = detLikeAdj Pl "wenig" ;
|
||||
first_Ord = {s = (regA "erst").s ! Posit} ;
|
||||
---- first_Ord = {s = (regA "erst").s ! Posit} ;
|
||||
for_Prep = mkPrep "für" Acc ;
|
||||
from_Prep = mkPrep "aus" Dat ;
|
||||
he_Pron = mkPronPers "er" "ihn" "ihm" "seiner" "sein" Masc Sg P3 ;
|
||||
@@ -59,11 +59,7 @@ concrete StructuralGer of Structural = CatGer **
|
||||
"mußte" "mußtest" "mußten" "mußtet"
|
||||
"müßte" "gemußt" []
|
||||
VHaben) ;
|
||||
one_Quant = {
|
||||
s = \\g,c => "ein" + pronEnding ! GSg g ! c ;
|
||||
n = Sg ;
|
||||
a = Strong
|
||||
} ;
|
||||
--- one_Quant = DEPREC
|
||||
only_Predet = {s = \\_,_,_ => "nur"} ;
|
||||
no_Phr = ss "nein" ;
|
||||
on_Prep = mkPrep "auf" Dat ;
|
||||
|
||||
Reference in New Issue
Block a user