diff options
| author | bjorn <bjorn@bringert.net> | 2008-11-19 13:11:45 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-11-19 13:11:45 +0000 |
| commit | 0c538bf80bbf91a616d555a14018f2c6b2464b72 (patch) | |
| tree | 291ffca09a4256ab1b88a861fd53b9fa43a60cd4 /next-lib/src/english/NounEng.gf | |
| parent | 288ffd290a67a1d0ff497c8aa1d3c12d612a6dc3 (diff) | |
Added case inflection to English numerals and adjectives, in order to get genitive forms of stand-alone determiners that use Num or Ord right.
Diffstat (limited to 'next-lib/src/english/NounEng.gf')
| -rw-r--r-- | next-lib/src/english/NounEng.gf | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/next-lib/src/english/NounEng.gf b/next-lib/src/english/NounEng.gf index 391fb782f..31fe24659 100644 --- a/next-lib/src/english/NounEng.gf +++ b/next-lib/src/english/NounEng.gf @@ -32,14 +32,17 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in { } ; DetQuant quant num = { - s = quant.s ! num.hasCard ! num.n ++ num.s ; - sp = \\c => quant.sp ! num.hasCard ! num.n ! c ++ num.s ; + s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom; + sp = \\c => case num.hasCard of { + False => quant.sp ! num.hasCard ! num.n ! c ++ num.s ! Nom ; + True => quant.sp ! num.hasCard ! num.n ! Nom ++ num.s ! c + } ; n = num.n } ; DetQuantOrd quant num ord = { - s = quant.s ! num.hasCard ! num.n ++ num.s ++ ord.s ; - sp = \\c => quant.sp ! num.hasCard ! num.n ! c ++ num.s ++ ord.s ; + s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom ++ ord.s ! Nom; + sp = \\c => quant.sp ! num.hasCard ! num.n ! Nom ++ num.s ! Nom ++ ord.s ! c ; n = num.n } ; @@ -53,8 +56,8 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in { sp = \\_,_ => p.sp } ; - NumSg = {s = []; n = Sg ; hasCard = False} ; - NumPl = {s = []; n = Pl ; hasCard = False} ; + NumSg = {s = \\c => []; n = Sg ; hasCard = False} ; + NumPl = {s = \\c => []; n = Pl ; hasCard = False} ; ---b NoOrd = {s = []} ; NumCard n = n ** {hasCard = True} ; @@ -65,9 +68,9 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in { NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ; OrdNumeral numeral = {s = numeral.s ! NOrd} ; - AdNum adn num = {s = adn.s ++ num.s ; n = num.n} ; + AdNum adn num = {s = \\c => adn.s ++ num.s!c ; n = num.n} ; - OrdSuperl a = {s = a.s ! AAdj Superl} ; + OrdSuperl a = {s = \\c => a.s ! AAdj Superl c } ; DefArt = { s = \\hasCard,n => artDef ; |
